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