A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© ixx__123 中级黑马   /  2014-8-17 09:25  /  1487 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

   谁能告诉我内存的划分以及划分那几个部分,每个部分都有那些数据他们的一些工作机制

3 个回复

倒序浏览
本帖最后由 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页内容。
回复 使用道具 举报
xiniuniu 发表于 2014-8-18 16:29
进程是已载入内存并受操作系统管理的程序实例的名字。
如图2-12a所示,进程的内存一般分为code(代码段)、d ...

  真详细,  哈哈,谢谢
回复 使用道具 举报
内存是个大问题啊。黑马好像对内存要求很高的样子
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马