图中给出了在一个典型c++程序中如何组织内存的框架。程序中的指令(在底层都是按位存储的)和全局变量往往被存储在静态去(static area),该区域位于地址编址号较小的接近机器地址空间的开始处。该区域所分配的内存量在程序运行期间不会发生改变。
内存中的最高地址区表示栈区(stack area)。当你的程序每调用一个函数或者方法,计算机就会在这个内存区创建一个新的栈帧。当函数返回时,所创建的栈帧会被撤销,以为后续的函数调用所需的栈帧释放内存。
处于栈区和静态区之间的内存区域被称为堆区(heap area)。该区域会在程序运行时请求更多内存的时候发挥作用。
内联函数的临时变量存在main的栈上,相当于main的临时变量。
c++程序设计基础、编程抽象与算法策略
原文地址:https://www.cnblogs.com/goudanli/p/8319328.html
时间: 2024-10-04 12:35:19