当我cat这样的二进制文件时
cat /bin/cat
,我发现类似的东西几乎每次都包含在二进制文件中;
GCC: (GNU) 4.6.3
还有其他一些东西,比如
.gnu.version.gnu.version_r
或 gnu.build-id.gnu.hash
。这些东西包含在二进制文件中是否有任何原因?
用于调试和兼容性目的。 您可以使用 readelf 以更易读的格式查看此信息(尝试 readelf -V binaryFile)。 要删除一些额外的信息,您可以运行 strip 命令。
一如既往,“man readelf”和“man strip”了解更多信息!