可执行程序包括BSS段、数据段、代码段(也称文本段)。
BSS(Block Started by Symbol)通常是指用来存放程序中未初始化的全局变量和静态变量的一块内存区域。
特点是:可读写的,在程序执行之前BSS段会自动清0。所以,未初始的全局变量在程序执行之前已经成0了。
注意和数据段的区别,BSS存放的是未初始化的全局变量和静态变量,数据段存放的是初始化后的全局变量和静态变量。
UNIX下可使用size命令查看可执行文件的段大小信息。如size a.out。
$size zip
text data bss dec hex filename
156663 3736 320556 480955 756bb zip
摘自百科:
本文深入探讨了可执行程序中的BSS段、数据段与代码段,解释了它们各自的功能及在程序执行前后的状态变化。通过实例展示了如何使用size命令查看段大小信息,并对比了数据段与BSS段的区别,帮助开发者更好地理解程序内存布局。

被折叠的 条评论
为什么被折叠?



