原创
程序中各段内存分配
2013-2-20 19:55
891
8
8
分类:
消费电子
进程内存布局(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都是在堆中。
X86中程序的内存结构
文章评论(0条评论)
登录后参与讨论