(一)进程空间分布图:
一个linux进程的虚拟地址空间分布如下图所示,分为用户空间和内核空间,对于一个32位操作系统来说,4GB的空间分成两部分,低地址的0~3G给用户空间,高地址的3G~4G给内核空间
(二) 用户空间
2.1 只读数据段(.rodata,又叫做常量数据段)
存放只读数据(字符串常量和const修饰的全局变量);const修饰的全局变量是存放在常量段的,但是使用const修饰的局部变量不存放在常量段,存放在栈段;为了提高空间的利用率,有些系统中.rodata段是多个进程共享的;程序加载运行时,.rodata和.text通常合并到一个段(Text Segmentÿ