以下是a.out
上尺寸的输出text data bss dec hex filename
2469324 45808 **9087820** 11602952 b10c08 a.out
当我使用所有单个obj和库的总大小输出时
text data bss dec
2777237 44307 **23112** 2844656
我可以理解实际可执行文件中的文本大小小于总大小(libraries + main.o),因为实际的可执行文件不包含未使用的函数库中的文本部分。
我的问题是为什么bss部分在最终的可执行文件中是巨大的(~9MB),当我总计库和main.o的bss部分的总和时它是~23k。
如何查找,在哪里(文件)是可执行文件中分配的这个巨大的bss部分。
我正在使用ubuntu 13.04,gcc。
感谢任何帮助。