2011-05-26 51 views
0

我正在優化單個C對象文件的佔用空間。我正在使用編譯器arm-elf-gcc,因爲目標平臺是針對ARM-926EJ處理器的。在對象文件上使用binutils大小會給出比對象文件的實際大小更小的大小

我想記錄當前的大小,然後比較優化後,我想知道,爲什麼arm-elf-size返回的大小小於目標文件的實際大小?

這就是我與手臂精靈大小

text data bss dec hex filename
15656 29188 0 44844 af2c hyper.o

而且hyper.o文件的實際大小爲54個字節168。

我應該看看哪一個?

此致

先生Gigu

回答

1

目標文件具有標頭,其不可由ELF尺寸報告的段大小的一部分。

+0

因此,看看arm-elf-size返回的大小更正確嗎? – MrGigu 2011-05-26 09:02:49

+0

這取決於你的目的。要知道真正在記憶中佔據的位置,是的(但也可能取決於片段在內存中的位置)。另請注意,當您有未初始化的數據時,最終可能會出現相反的情況(大小報告大於文件大小)。 – AProgrammer 2011-05-26 09:09:27