运行时存储空间组织与管理.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
运行时存储空间的组织和管理;运行时的程序 ;本章内容 ;影响存储分配策略的语言特征;7.1 局部存储分配策略;名字的作用域和绑定;名字的绑定;名字的绑定;活动记录;局部数据的安排;局部数据的安排;局部数据的安排;局部数据的安排;程序块;程序块;7.2 全局存储分配策略;7.2.1 运行时内存的划分;7.2.2 静态存储分配策略;例:某分段式程序运行时刻的内存划分;静态存储分配策略;分层分配算法;7.2.2 静态存储分配策略;7.2.2 静态存储分配策略;7.2.2 静态存储分配策略;7.2.3 栈式存储分配策略;7.2.3 栈式存储分配策略;7.2.3 栈式存储分配策略;7.2.3 栈式全局存储分配策略;7.2.3 栈式存储分配策略;7.2.3 栈式存储分配策略;7.2.3 栈式存储分配策略;7.2.3 栈式存储分配策略;7.2.3 栈式存储分配策略;7.2.3 栈式存储分配策略;7.2.3 栈式存储分配策略;7.2.3 栈式存储分配策略;7.2.3 栈式存储分配策略;7.2.3 栈式存储分配策略;7.2.3 栈式存储分配策略;7.2.3 栈式存储分配策略;7.2.3 栈式存储分配策略;悬空引用;7.2.4 堆式存储分配策略;7.3 非局部名字的访问;7.3.1 无过程嵌套的静态作用域;7.3.2 有过程嵌套的静态作用域;7.3.2 有过程嵌套的静态作用域;7.3.2 有过程嵌套的静态作用域;7.3.2 有过程嵌套的静态作用域;7.3.2 有过程嵌套的静态作用域;7.3.2 有过程嵌套的静态作用域;7.3.2 有过程嵌套的静态作用域;7.3.2 有过程嵌套的静态作用域;7.3.2 有过程嵌套的静态作用域;7.3.2 有过程嵌套的静态作用域;7.3.2 有过程嵌套的静态作用域;7.3.2 有过程嵌套的静态作用域;通过使用Display表;Display表 Display表是一个指针数组d,在运行过程中,若当前活动的过程的嵌套深度为i,则d[i]中存放当前的活动记录地址,d[i-1],d[i-2],… ,d[1] 中依次存放着当前活动的过程的直接外层, … , 直至最外层(主程序)等每一层过程的最新活动地址。 这样,嵌套深度为j的变量a存放在由d[j]所指出的活动记录中。 在运行过程中维持一个Display表实现非局部访问比存取链效率要高。;Display表的维护(过程不作为参数传递) 当嵌套深度为i的过程的活动记录筑在栈顶时: (1)在新的活动记录中保存d[i]的值; (2)置d[i]指向新的活动记录。 在一个活动结束前, d[i]置???保存的旧值。 用Display表如何访问非局部量? 1. Display表是一个数组,开始地址用通用 寄存器指出; 2. Display表由一组寄存器实现。;s;设p (嵌套深度为j)调用q(嵌套深度为i);2. j?i ;2. j?i ji ;7.3.3 动态作用域;7.3.3 动态作用域;7.3.3 动态作用域;7.3.3 动态作用域;7.4 参 数 传 递;7.4.1 传值调用;7.4.2 引用调用;7.4.3 复制-恢复调用;7.4.4 换名调用;子程序 P(X,Y,Z); {Y:=Y+1; Z:=Z+X};符号表管理;符号表管理_组织方式与查填技术;符号表管理_组织方式与查填技术;带嵌套程序(过程)的符号表管理;带嵌套程序(过程)的符号表管理;带嵌套程序(过程)的符号表管理;带嵌套程序(过程)的符号表管理;带嵌套程序(过程)的符号表管理;过程说明语句的翻译;过程说明语句代码结构;过程调用语句的代码结构;过程调用的实现;e. p 存放寄存器值和其它状态信息 f. 执行过程体 2. 从过程 p 返回:对应return语句 a. p 在返回值域中保存返回值 b. 恢复原栈顶指针和其它寄存器 c. 按返回地址返回调用者;代码结构 E1.code a1:=E1.place … En.code an:=En.place 动态存储分配相关工作 goto pc+n+1 param a1 … param an call id.place,n;过程调用语句的制导翻译定义;3 + a;函数调用 f(b*c-1,x+y,x,y)的翻译;赋值语句x:=a+b+ f(b*c-1,x+y,x,y)的翻译;本 章 要 点;习 题;思考题;docin/sanshengshiyuan doc88/sanshenglu

文档评论(0)

erterye + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档