我正在阅读这篇文章:http://www.geeksforgeeks.org/memory-layout-of-c-program/,它说“未初始化变量存储在bss中”,“已初始化变量存储在数据段中”。
我的问题是为什么我们需要为变量拥有2个单独的段?1. BSS 2. 数据段?
为什么不把所有内容都放入一个段中呢?
我的问题是为什么我们需要为变量拥有2个单独的段?1. BSS 2. 数据段?
为什么不把所有内容都放入一个段中呢?
BSS占用程序映像中的空间很少。它只是指示BSS部分有多大,运行时将把该内存设置为零。
数据段填充变量的初始值,因此在程序映像文件中占据空间。