1 / 74
文档名称:

编译原理第10章 存储组织.ppt

格式:ppt   大小:6,546KB   页数:74页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

编译原理第10章 存储组织.ppt

上传人:lizhencai0001 2018/7/28 文件大小:6.39 MB

下载得到文件列表

编译原理第10章 存储组织.ppt

文档介绍

文档介绍:编译原理之 存储组织
华东交通大学软件学院
万仲保
第十章目标程序运行时的存储组织
概述
数据空间的使用方法和管理方法
栈式存储分配的实现
参数传递
过程操作
练****br/>概述
一般来讲,假如编译程序从操作系统中得到一块存储区以位目标程序在其上运行,该存储区需容纳生成的目标代码和目标代码运行时的数据空间。
数据空间应包括:
用户定义的各种类型的数据对象(变量和常数)所需的存储空间、作为保留中间结果和传递参数的临时工作单元,调用过程时所需的连接单元、以及组织输入/输出所需的缓冲区。
运行时的存储区常常划分成:
目标区、静态数据区、栈区和堆区。
运行时存储区的典型划分
编译程序对数据空间的分配
运行时存储区的典型划分
代码(code)区用以存放目标代码,这是固定长度的,即编译时能确定的。
静态数据区(static data)用以存放编译时能确定所占用空间的数据。
堆栈区(stack and heap)用于可变数据以及管理过程活动的控制信息。
目标程序运行时存储区的典型划分
编译程序对数据空间的分配
基本原则是程序语言设计时对程序运行中存储空间的使用和管理办法的规定。
数据空间的分配:
本质上看是将程序中的每个名字与一个存储位置关联起来,该存储位置用以容纳名字的值。
在程序设计语言语义学中,使用术语environment表示将一个名字映射到一个存储位置的函数,术语state表示存储位置到值的映射。
名字到存储、到值的映射
数据空间的使用方法和管理方法
术语:
静态:如果一个名字的性质通过说明语句或隐或显规则而定义,则称这种性质是“静态”确定的。
动态:如果名字的性质只有在程序运行时才能知道,则称这种性质为“动态”确定的。
静态存储分配
动态存储分配
静态存储分配
如果在编译时能确定目标程序运行中所需的全部数据空间的大小,编译时安排好目标程序运行时的全部数据空间,确定每个数据对象的存储位置,那么则称这种分配策略为静态存储分配。
示例
FORTRAN 77的示例程序
该程序中局部变量的静态存储位置
FORTRAN 77的程序
局部变量的静态存储位置
动态存储分配
如果一个程序设计语言允许递归过程、可变数组或可变数据结构,那么,就需要采用动态存储管理技术。因为对于这种程序在编译时无法知道它在运行时需要多大的存储空间,它所需要的数据空间的大小需待程序运行时动态地确定。
分类:
栈式动态存储分配
堆式动态存储分配

最近更新

重难点解析广东广州市广大附中物理八年级下册.. 20页

2024年小学开学工作总结 8页

重难点解析四川荣县中学物理八年级下册期末考.. 20页

2024年小学寒假假期安全教育的教案范文 8页

2024年小学安全隐患整改报告 6页

2024年小学安全保证书 4页

2024年小学学校工作总结(合集15篇) 84页

2024年小学学习雷锋主题班会教案(通用10篇).. 28页

2024年小学四年级周记范文锦集六篇 6页

低至一角”高中信息技术选修网络技术应用 7页

2024年小学亲子共读活动总结(精选5篇) 9页

会计《会计电算化》全真模拟卷一 一答案 2页

赞美祝福宝宝的唯美句子 给孩子的优美祝语 8页

从高考题谈动名词作主语和宾语 (2) 6页

2024年小学习作教学心得体会 25页

2024年小学世界无烟日主题班会总结(通用6篇).. 10页

人民版高中历史必修二专题一单元测试 (3) 6页

新书推荐转基因技术 2页

山东省东营市2023年八年级下学期英语期中试卷.. 11页

预防接种工作规范培训后测试题 4页

一年级口语交际教材特点与教学建议 21页

既要“旗帜鲜明”,也要“润物无声”——对高校.. 3页

星轮加工工艺及铣平面夹具设计【含CAD图纸、说.. 36页

丰盛的恩光(教师本) 20页

摇臂支架零件加工工艺及车10.5孔夹具设计 33页

风雨《洛神赋》.doc 13页

旅游度假城污水处理厂自控系统技术方案 25页