Sunday, November 18, 2007

block started by symbol

其缩写是BSS,因为未初始化的变量没有对应的值,所以并不需要存放在可执行对象中,但是因为C标准强制规定未初始化的的全局变量要被赋予特殊的默认值(基本是0值),所以内核要将变量(未赋值的)从可执行代码载入到内存中,然后将零页映射到该片内存上,于是这些未初始化变量就被赋予零值,这样做避免了在目标文件中显示的进行初始化,减少空间浪费.