码迷,mamicode.com
首页 > 其他好文 > 详细

进程内存管理

时间:2014-05-16 09:07:04      阅读:359      评论:0      收藏:0      [点我收藏+]

标签:style   blog   c   ext   http   width   

以下摘自<http://www.cnblogs.com/skynet/archive/2011/03/07/1975479.html>

 

bubuko.com,布布扣

 

 

变量在内存中的布局可以总结为如下:

  • 变量(函数外):如果未初始化,则存放在BSS段;否则存放在data段
  • 变量(函数内):如果没有指定static修饰符,则存放在栈中;否则同上
  • 常量:存放在文本段.text
  • 函数参数:存放在栈或寄存器中

内存可以分为以下几段:

  • 文本段:包含实际要执行的代码(机器指令)和常量。它通常是共享的,多个实例之间共享文本段。文本段是不可修改的。
  • 初始化数据段:包含程序已经初始化的全局变量,.data。
  • 未初始化数据段:包含程序未初始化的全局变量,.bbs。该段中的变量在执行之前初始化为0或NULL。
  • 栈:由系统管理,由高地址向低地址扩展。
  • 堆:动态内存,由用户管理。通过malloc/alloc/realloc、new/new[]申请空间,通过free、delete/delete[]释放所申请的空间。由低地址想高地址扩展。

进程内存管理,布布扣,bubuko.com

进程内存管理

标签:style   blog   c   ext   http   width   

原文地址:http://www.cnblogs.com/aoun/p/3725869.html

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