黑马程序员技术交流社区

标题: 内存的分析 [打印本页]

作者: ixx__123    时间: 2014-8-17 09:25
标题: 内存的分析
   谁能告诉我内存的划分以及划分那几个部分,每个部分都有那些数据他们的一些工作机制
作者: xiniuniu    时间: 2014-8-18 16:29
本帖最后由 xiniuniu 于 2014-8-19 15:53 编辑

进程是已载入内存并受操作系统管理的程序实例的名字。
如图2-12a所示,进程的内存一般分为code(代码段)、data(数据段)、heap(堆段)、stack(栈段)等段。code 和text段包含了程序的指令和只读数据。它们可以被标记为只读,从而当试图对其对应的内存进行修改时,就会引发错误。data段包含了初始化数据、未初始化数据、静态变量以及全局变量。heap段则用于动态地分配进程内存。stack段是一个LIFO(last-in, first-out,后进先出)数据结构,用于支持函数的执行。




进程内存的精确组织形式依赖于操作系统、编译器、链接器以及载入器。图2-12b和图2-12c展示了UNIX和Win32上可能的进程内存组织形式。




以上文字介绍摘自《C和C++安全编码》第23,24页内容。要想了解栈结构请参考本书25页内容。

作者: ixx__123    时间: 2014-8-19 13:31
xiniuniu 发表于 2014-8-18 16:29
进程是已载入内存并受操作系统管理的程序实例的名字。
如图2-12a所示,进程的内存一般分为code(代码段)、d ...

  真详细,  哈哈,谢谢
作者: qq541955920    时间: 2014-8-19 18:12
内存是个大问题啊。黑马好像对内存要求很高的样子




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2