码迷,mamicode.com
首页 > 其他好文 > 详细

c程序内存分配

时间:2015-07-21 18:33:45      阅读:119      评论:0      收藏:0      [点我收藏+]

标签:

进程内存布局(x86架构)

--------------------------------------------------------------------------

0x08048000    code            .text,代码,只读

              data            .data,包含已经初始化的数据,只读

              bss             .bss,未初始化数据,初始化成0,读/

              ...             堆区,动态分配获取的内存从.bss往内存高端增长

              ...             (heap),读/

              ...

              stack           栈区,起始地址大于0xBFFF0000

              arguments       main()的形参

              environment     环境变量区域

              program name    execve()第一形参,不是argv[0]

0xBFFFFFFC    null(dword)     最后四个字节固定为零

0xC0000000

--------------------------------------------------------------------------

当然这里边还涉及一些动态库的加载,这些是在堆区,也有可能是在堆之前,

x86上是在堆之前(即在0x08048000之前),但是如果动态库太大的时候,也会加载到堆中;ARM都是在堆中。

 

c程序内存分配

标签:

原文地址:http://www.cnblogs.com/mylinux/p/4665266.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!