为什么初始化和未初始化的全局变量有不同的部分?



我正在读这门关于可执行文件结构的课程它说可执行文件中有三个数据部分

  • 代码段
  • 数据部分
    • 。数据本;存储初始化的全局数据
    • 。bss 本;存储未初始化的全局数据
    • 。rodata 本;存储只读数据,如文字

我的问题是,为什么要区分初始化和未初始化的全局数据?

(我们在课堂上使用C语言,但我想这是一个语言不可知论的主题。)

图片大小。程序映像必须包含.data的初始化数据,但不必包含.bss。

最新更新