32位系统下进程的虚拟地址空间大小为4G(2^32=4G),32位是指地址总线的条数。在Windows中以2:2划分内核、用户空间,而在Linux中则以1:3划分内核、用户空间。Linux中4G虚拟地址空间分布图如下:
下面是一些实例:
int gdata1 = 10;//.data段
int gdata2 = 0;//.bss段:best save space,节省磁盘空间
int gdata3;//.bss段
static int gdata4 = 10;//.data段
static int gdata5 = 0;//.bss段
static int gdata6;//.bss段
int main()
{
int a = 10;//.text段:存放指令,只读
int b = 0;//.text段
int c;//.text段
static int d = 10;//.data段
static int e = 0;//.bss段
static int f;//.bss段
return 0;
}