linux进程空间解析

对于一个进程,其空间分布如下图所示:


可执行程序包括BSS段、 数据段 代码段 (也称文本段)。

BSS(Block Started by Symbol)通常是指用来存放程序中未初始化的 全局变量 静态变量 的一块内存区域。特点是:可读写的,在程序执行之前BSS段会自动清0。所以,未初始的全局变量在程序执行之前已经成0了。


注意和 数据段 的区别,BSS存放的是未初始化的 全局变量 静态变量 ,数据段存放的是初始化后的全局变量和静态变量。


可执行文件: 包含了代码和数据。具有可执行的程序。

可重定位文件:包含了代码和数据(这些数据是和其他重定位文件和共享的 文件一起连接时使用的)

共享 object 文件(又可叫做共享库):包含了代码和数据(这些数据是在连接 时候被连接器 ld 和运行时动态连接器使用的)。

使创建共享库容易,使动态装载和共享库的结合更加容易。在 ELF 下,在 C++
中,全局的构造函数和析构函数在共享库和静态库中用同样方法处理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值