linux里面C程序内存布局

C程序的内存由以下部分组成:

正文段:由cpu执行的机器指令部分

初始化数据段:全局变量中已初始化部分

非初始化数据段:全局变量中未初始化部分

栈:局部变量和每次函数调用时所需保存信息都存放在此段

堆:通常在堆中进行动态存储分配

 

这些段的一种典型排列方式是:

命令行参数和环境变量     高地址

未初始化数据段

初始化数据段

正文                             低地址

 

 

  

在linux2.6内核下用g++编译器编译的执行结果:

命令行参数和环境变量
environ:      c34b3718

a:                c34b3614
b:                c34b3610

c:                501010
非初始化数据段
g_b:            500cd8
g_a:            500cd4
初始化数据段
g_init_a:     500ccc
g_init_b:     500cd0
正文段
fun:             4006d8

 

 友情链接:网购优惠信息网
 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值