程序的内存模型
内存分区模型为4个区:
-
代码区:存放函数的二进制代码,由操作系统进行管理,存放CPU执行的机器指令,代码区是共享的:共享的目的是对于频繁被执行的程序,只需要在内存中有一份代码即可
代码区是只读的:防止程序意外地修改它的指令 -
全局区:存放全局变量和静态变量及常量,常量包括字符串常量和const修饰的常量
-
栈区:由编译器自动分配释放,存放函数的**(形)参数值**,局部变量等
-
堆区:由程序员分配和释放,弱程序员不释放,程序结束由操作系统回收,使用**new()**在堆区开辟内存,int * arr =new [n]; delete [] arr;
本文深入解析程序的内存模型,详细阐述代码区、全局区、栈区和堆区的功能与特性。代码区用于存放不可更改的指令,全局区管理全局变量与常量,栈区由编译器自动管理局部变量,而堆区则由程序员手动控制内存分配。

被折叠的 条评论
为什么被折叠?



