- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
编译原理 第9章 运行时的存储组织与分配
◆ 基本思想
◆
◆ 基本知识
◆
运行时的存储组织与分配 ◆ 需解决的问题
◆
◆ 具体实例
◆
伍 春 香
武汉大学计算机学院
学习目标
掌握
运行阶段存储分配的基本思想 存储组织与分配概述
典型的存储分配方案
主要的参数传递方法
栈式存储分配方案
任务
过程调用时非局部量的访问方法
基本思想
了解
堆式存储分配 典型的存储组织与分配方案
静态存储分配
9.1 概述 9.1 概述
1. 任务 1. 任务
⑴ 冯·诺依曼计算机程序设计的基础是对基本存储单元 ⑶ 当目标程序运行时,应该有相应的存储区来存放 目
的命名、赋值和重复操作 标代码、数据对象。
——使用变量来表示计算机存储单元
——赋值语句模拟计算机的取数、存数与算术运算 ⑷ 存储分配的方案取决于数据对象的特征
——其它语句则以赋值语句为基础。 静态数据静态数据:所占存储空间的大小在编译时刻已知
动态数据动态数据:所占存储空间的大小在编译时刻无法确定
⑵ 在目标程序运行时刻,源程序中每一个量都应分
配以相应的存储单元。
1
9.1 概述 9.1 概述
运行时刻相关的存储区域: 2. 基本思想
代码 运行阶段的存储组织与分配,是指编译程序在编译阶
段负责为源程序中出现的用户定义的变量与常量、临时工
全局/静态数据
过程数据区/ 作单元、过程或函数调用时需要的连接单元与返回地址、
栈
活动记录 以及输入/输出所需的缓冲区等组织好在运行阶段的存储
空间。
堆 动态数据结构
文档评论(0)