- 1
- 0
- 约8.11千字
- 约 82页
- 2017-06-10 发布于北京
- 举报
1 1 第八章 运行时的存储组织与管理 8.1 概述 8.2 静态存储分配 8.3 栈式存储分配 8.4 堆式存储分配 8.5 本章小结 8.1 概述 从逻辑上看,代码生成前,编译程序必须进行目标程序运行环境的设计和数据空间的分配 所谓运行时的环境是指目标计算机的寄存器和存储器的结构,以及用来管理存储器并保存执行过程所需要的信息。 几乎所有的程序设计语言都使用3种类型的存储环境:完全静态环境、基于栈的存储环境和基于堆的存储环境中的一种或几种。 8.1 概述 从逻辑上看,代码生成前,编译程序必须进行目标程序运行环境的设计和数据空间的分配 数据空间包括:用户定义的各种类型的数据对象(变量和常量)所需的存储空间,作为保留中间结果和传递参数的临时工作单元,调用过程时所需的连接单元,组织输入/输出所需的缓冲区。 8.1 概述 存储管理复杂度取决于源语言本身,具体包括: 允许的数据类型的多少 语言中允许的数据项是 静态确定 动态确定 程序决定名字的作用域的规则和结构 段结构 过程定义不嵌套,只允许过程递归调用 分程序结构 分程序嵌套 过程定义嵌套 存储区划分成:目标区、静态数据区、栈区、堆区:
原创力文档

文档评论(0)