gpt4 book ai didi

c++ - gcc编译的二进制文件大小不同?

转载 作者:IT王子 更新时间:2023-10-28 23:57:52 57 5
gpt4 key购买 nike

如果使用 gcc 在不同时间构建相同的代码,生成的二进制文件将具有不同的内容。好吧,我对此并不狂热,但事实就是如此。

但是,我最近遇到了这样一种情况,即使用相同版本的 gcc 构建的相同代码生成的二进制文件的大小与之前的构建不同(大约 1900 字节)。

有谁知道可能导致这些情况的原因是什么?这是某种ELF问题吗?是否有任何工具(ldd 除外)可用于转储二进制文件的内容以查看到底有什么不同?

提前致谢。

最佳答案

我已经设法解决问题,至少令我满意,并且想传递我的发现。

使用 readelf,(readelf -a -W ) 我创建了一个报告,列出了两个构建的内容并比较了它们(使用 Beyond Compare)。这表明从 boost 库中提取了一些额外的符号。

你瞧,我们实际上是针对不同版本的依赖库构建的,但没有意识到这一点。在这种情况下没有什么坏处,但最好知道您的可执行文件中发生了什么。

感谢大家的周到回复。

关于c++ - gcc编译的二进制文件大小不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1277877/

57 5 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com