进程(四)—— 程序地址空间一、C/C++内存区域划分二、程序地址空间
在运行程序的时候,CPU是如何根据程序控制块(task_struct)找到对应的代码和数据??一、C/C++内存区域划分栈区:一般存放临时变量,调用函数时会给函数创建栈帧(栈比较小,大概在8M左右)堆区:通过new / malloc 等方式动态开辟的空间都在堆上静态区/常量区:存放static修饰的变量、全局变量代码区:存放代码和常量数据二、程序地址空间从上面的图可以看出,一块内存区域大概是 4GB