bss截面尺寸计算

时间:2014-03-28 05:14:19

标签: c memory-layout memory-footprint

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

感谢任何帮助。

0 个答案:

没有答案