1

以下是 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。

任何帮助表示赞赏。

4

0 回答 0