gpt4 book ai didi

c++ - 目标文件和可执行文件各字段大小的区别

转载 作者:行者123 更新时间:2023-11-28 08:09:27 26 4
gpt4 key购买 nike

我在 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++ 框架(即调用 main 所需的代码)和各种标准库的链接(至少是 C 和 C++ 标准库)。

关于c++ - 目标文件和可执行文件各字段大小的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9493639/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com