我们想比较二进制文件的大小,看看差异及其背后的原因

时间:2012-12-03 16:44:21

标签: gcc

目标: 要理解在两个相同环境中构建的相同二进制文件的二进制大小差异的原因

背景: 我们在不同的位置创建了一个新的重复构建环境。但是,当在这两种环境之间比较二进制大小时,超过60%的二进制文件在两种环境中都没有相同的大小。

采取的行动/要求: 为了理解变化大小的原因,我们尝试使用readelf,objdump,cmp,vbindiff,Beyond Compare等工具。使用这些工具我们能够突出显示差异,但不确定它的含义是什么以及如何采取行动解决规模问题。

例如:

环境1中的二进制1显示:入口点地址:0x10cc8

环境2中的二进制1显示:入口点地址:0x10d10

不确定这两个二进制文件的上述区别是什么意思。

类似地

环境1中的二进制1显示:节标题的开头:215080(字节到文件中)

环境2中的二进制1显示:节标题的开头:215172(字节到文件中)

同样,这两个二进制文件之间存在各种差异。

您能否建议理解突出显示的差异的方法,以便采取措施了解二进制文件大小差异的原因。

PS:我已经阅读了以下帖子,并且非常有助于遵循一些步骤 gcc compiled binaries w/different sizes?

提前致谢

0 个答案:

没有答案