В моем проекте я сначала компилирую aa_1.c
, aa_2.c
... из папки A
, затем компилирую bb_1.c
bb_2.c
... из папки B
. Затем я использую gcc-ar
для генерации libapps.a
. Наконец, я связываюсь с другими статическими библиотеками.
Теперь я хочу вычислить text
, rodata
, data
и bss
раздел папки A
.
Мой метод заключается в выполнении gcc-nm -S --size-sort folder/*.o
и накоплении text
, rodata
, data
и bss
разделов. Но некоторые функции могут быть оптимизированы, потому что они никогда не вызываются.
Так как я могу рассчитать размеры text
, data
, rodata
и bss
?
У меня также есть другой вопрос, с использованием gcc-nm -S --size-sort a.o
нет типа 'b'
. Но использование gcc-size a.o
показывает, что bss
раздел занимает 8 байтов. Так какой из них прав?