您好!
关于 TM4C1290NCPDT 上的执行文件大小(.out)、我的客户提出了一些问题。
它们在不同 PC 上构建了相同的 TM4C1290NCPDT 程序、但执行文件大小(.out)在不同 PC 上有所不同。
它们的条件如下、并且在每台 PC 上都是相同的。
CCS:5.5.0.00077
符合标准:ARM 5.1.1
PC 操作系统:Win10 Pro
例如,他们用三台 PC (1号,2号,3号)确认了这一点。
no1<-> no2:大小相同。
no.1<-> no.3:大小不同。
1) 1)他们确认了编译器、链接器和 ti-cgt-arm 的修订版本、这些修订版本没有不同
并确认了每个 CCS 上的链接器选项,但这些配置没有不同。
2) 2)他们使用比较工具确认了编译器文件夹中的一些文件。
・rtsv7M4_T_le_v4SPD16_eabi.lib ->没有区别
・dMED ->没有区别
・gcc-arm-none-eabi-4_7-2012Q4 ->没有区别
3)接下来、他们确认了段、两个段(strtab 和 shstrtab)的大小不同。
请参阅随附的文件。 (readelf_out_PC1.txt/ readelf_out_PC2.txt)
4)每个目标文件(.obj )的大小相同,但链接后,执行文件(.out)的大小不同。 (如下所示)
PC1:1、213、232字节
PC2:1、213、072字节
当 execute files(.out)转换为二进制文件时。(bin),二进制文件的大小相同。 (如下所示)
但映射文件(.map)中的某些符号不同。
PC1:141、688字节
PC2:141、688字节
请参阅随附的地图文件。 (L_Tiva.Release_N106_PC1.map/ L_Tiva.Release_N106_PC2.map)
(问题)
他们认为不同尺寸的原因是两个部分(strtab 和 shstrtab)不同的。
因此、映射文件(.map)中的某些符号在每台 PC 上都不同。
他们的理解是正确的?
如果是、两个部分为什么不同? 请告诉我们原因吗?
或者是否存在不同尺寸的其他原因?
此致、
TAO_2199
e2e.ti.com/.../5684.readelf_5F00_out_5F00_PC1.txte2e.ti.com/.../5367.readelf_5F00_out_5F00_PC2.txte2e.ti.com/.../L_5F00_Tiva.Release_5F00_N106_5F00_PC1.txte2e.ti.com/.../L_5F00_Tiva.Release_5F00_N106_5F00_PC2.txt
