.bss
未初始化的变量其实就相当于占位符。
仅在节头表里说明这一节需要多少的空间,在磁盘里并不分配任何空间。
C语言规定,未初始化的全局变量和局部静态变量的初始值为0
所以不需要为其分配任何空间。
.data
已经初始化的变量中存放具体的初始值,需要占磁盘空间。
BSS Block Started by Symbol 用于为符号预留空间
ELF头显示节头表的位置 通过其就可以找到节头表
节头表里表示每个节的名称以及每个节的偏移和大小
每一个节的节名以及起始位置都在这个表里
程序编译-汇编-链接的理解02-可重定位目标文件具体包含的信息!
最新推荐文章于 2023-09-12 22:24:18 发布
本文介绍了程序编译过程中BSS段与DATA段的作用及区别。BSS段用于存放未初始化的全局变量和静态变量,这些变量默认值为0,不占用实际磁盘空间;而DATA段则用于存放已初始化的变量,需要占用实际磁盘空间并存储具体的初始值。
5668

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



