编译原理第10章运行时的存储组织与分配PPT课件

上传人:嘀****l 文档编号:248110462 上传时间:2024-10-22 格式:PPTX 页数:12 大小:889.98KB
返回 下载 相关 举报
编译原理第10章运行时的存储组织与分配PPT课件_第1页
第1页 / 共12页
编译原理第10章运行时的存储组织与分配PPT课件_第2页
第2页 / 共12页
编译原理第10章运行时的存储组织与分配PPT课件_第3页
第3页 / 共12页
点击查看更多>>
资源描述
Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,11/7/2009,#,*,*,6/20/2022,1,6/20/2022,1,Compiler,编 译 原 理,Monday,June 20,2022,第10章运行时的存储组织与分配,要求明确静态存储分配和动态存储分配的含义,明确,活动记录的含义及组成,了解静态、动态存储分配的策略,教学目标,S.P,O.P,语义分析、生成中间代码,生成目标程序,代码优化,语法分析程序,词法分析程序,错,误,处,理,符,号,表,管,理,编译程序在编译阶段要为源程序中出现的变量、常量等组织好在,运行阶段的存储空间,将这种组织形式通过生成的,目标代码,体现出来,为运行阶段实现存储,奠定基础,10.1 存储组织概述,10.2 静态存储分配,10.3 栈式动态存储分配,10.4 堆式动态存储分配,教学内容,10.1存储组织概述,运行时存储空间的划分,代码空间,数据空间,目标代码空间,静态数据空间,栈,自由空间,堆,过程的活动和活动记录,一个过程的,活动:,该过程的一次执行。,即每次执行一个过程体,就产生该过程的一个活动。,活动记录,:为了管理过程在一次执行中所需要的信息,使用一段连续的存储区,活动记录的结构,10.2静态存储分配,在,编译阶段,由,编译程序,实现对存储空间的管理,为,源程序中的变量分配存储单元。,条件,在,编译时能够确定,变量在运行时的数据空间大小,运行时不改变,FORTRAN程序的静态分配,动态存储分配,在目标程序,运行阶段,由,目标程序,实现对存,储空间的组织与管理,为源程序中的变量分配存储单元,特点,在目标程序,运行时进行分配,编译时为运行阶段,设计好存储组织形式,,即为每个数据项安排好它在数据区中的,相对位置,10.3栈式动态存储分配,变量生存期具有嵌套特性,即,后进先出,的特性(如递归),进入时:,在栈顶为其分配一个数据区,退出时,:撤消过程数据区,练习,下面程序的运行结果是什么?如果把第6行的(i+1)*fact()改成,fact()*(i+1),的话,则程序的运行结果是有什么变化?试分析为什么会有这两种不同的结果。,int fact(),static,int i=5;,if(i=0)return 1;,else,i-;,return(i+1)*fact();,/第6行,main(),printf(factor of 5!=%dn,fact();,10.4堆式动态存储分配,变量生存期具有,随机交叉,特性,即非后进先出的特性(如程序运行时动态申请存储空间),给运行的程序划分一个大的存储区(称为,堆,),每当,需要时可从堆中分得一块,用完之后再退还给堆,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!