【发布时间】:2012-02-29 04:36:03
【问题描述】:
我在 linux 中使用 size 命令获得了以下信息,用于示例 c++ 程序。
text data bss dec hex filename
1908 304 152 2364 93c test
346 4 1 351 15f test.o
我读到输出是尺寸; text 是实际代码, bss 包含未初始化的全局变量,而 data 作为已初始化和未初始化段的添加。我的问题是为什么目标文件和可执行文件的大小不同,特别是在文本中,因为源代码在内存中很常见?如果没有全局变量,为什么会显示 bss 的大小?
示例代码文件包含如下:
#include <iostream>
using namespace std;
int main()
{
cout << "Hello World!" << endl ;
return 0;
}
谢谢!
【问题讨论】:
标签: c++ g++ size executable object-files