可执行程序包括BSS段(未初始化的数据)、
数据段(.data 已初始化数据)、
代码段(也称程序文本段)。
BSS(Block Started by Symbol)通常是指用来存放程序中未初始化的
全局变量和
静态变量的一块内存区域。特点是:可读写的,在程序执行之前BSS段会自动清0。所以,未初始的全局变量在程序执行之前已经成0了。
注意和
数据段的区别,BSS存放的是未初始化的
全局变量和
静态变量,数据段存放的是初始化后的全局变量和静态变量。
UNIX下可使用size命令查看可执行文件的段大小信息。如size a.out。