码迷,mamicode.com
首页 > 编程语言 > 详细

内存布局------c++程序设计基础、编程抽象与算法策略

时间:2018-01-20 00:58:55      阅读:188      评论:0      收藏:0      [点我收藏+]

标签:技术   地址空间   bubuko   栈帧   stat   方法   存储   创建   开始   

技术分享图片

  图中给出了在一个典型c++程序中如何组织内存的框架。程序中的指令(在底层都是按位存储的)和全局变量往往被存储在静态去(static area),该区域位于地址编址号较小的接近机器地址空间的开始处。该区域所分配的内存量在程序运行期间不会发生改变。

  内存中的最高地址区表示栈区(stack area)。当你的程序每调用一个函数或者方法,计算机就会在这个内存区创建一个新的栈帧。当函数返回时,所创建的栈帧会被撤销,以为后续的函数调用所需的栈帧释放内存。

  处于栈区和静态区之间的内存区域被称为堆区(heap area)。该区域会在程序运行时请求更多内存的时候发挥作用。

内联函数的临时变量存在main的栈上,相当于main的临时变量。

 

c++程序设计基础、编程抽象与算法策略

 

内存布局------c++程序设计基础、编程抽象与算法策略

标签:技术   地址空间   bubuko   栈帧   stat   方法   存储   创建   开始   

原文地址:https://www.cnblogs.com/goudanli/p/8319328.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!