对于示例 c++ 程序,我在 linux 中使用 size 命令获得了以下信息。
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;
}
谢谢你!