在典型的架构中,程序的内存可以被分为四个段:
(1)栈Stack:存储所有函数调用执行的信息和所有局部变量(称为栈帧,栈帧里包括函数的运行状态,还有函数内调用的局部变量,函数一次性调用结束就会清空该部分内存)
(2)堆Heap:存放临时数据,存储空间的大小不固定(使用malloc或new函数时会用到)
任何堆上的内存都是要显式收回的(使用free或delete操作)
(3)全局区Global:存放全局变量的部分
(4)代码段Code(Text):存储所有需要被执行的指令
在典型的架构中,程序的内存可以被分为四个段:
(1)栈Stack:存储所有函数调用执行的信息和所有局部变量(称为栈帧,栈帧里包括函数的运行状态,还有函数内调用的局部变量,函数一次性调用结束就会清空该部分内存)
(2)堆Heap:存放临时数据,存储空间的大小不固定(使用malloc或new函数时会用到)
任何堆上的内存都是要显式收回的(使用free或delete操作)
(3)全局区Global:存放全局变量的部分
(4)代码段Code(Text):存储所有需要被执行的指令