- 1、本文档共36页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第06章运行时的存储环境
第06章 运行时的存储空间 运行时的存储空间结构与分配 过程活动记录与栈区组织结构 运行时变量的访问环境 *分程序和动态数组空间 6.1 运行时的存储空间结构与分配 运行时的存储空间基本结构 静态区的存储分配 栈区的存储分配 *堆区的存储分配 *堆区的空间管理 6.1.1 运行时的存储空间基本结构 要保存的信息: 目标代码和库函数代码;寄存器信息;数据信息; 控制信息等 运行时的存储空间结构: 6.1.2 静态区的存储分配 特点:1)存储对象的存储位置在程序的整 个生命周期是固定的; 2)其访问地址可采用绝对地址。 分配对象:全程变量、常量、信息表 分配方法: 1)块地址法:(DataArea,Offset) 2)变址模式:(Register,Offset) 6.1.3 栈区的存储分配 产生原因:存在递归调用,如计算n!时,每次调用 f(x)时x值都不同:f(n)=n*f(n-1); 存储对象:过程形参、局部变量、编译产生的临 时变量 分配方法: [1]对每个被调用函数或过程分配一段存储空间; [2]过程结束时自动释放空间。 不能存储: [1]值的生命周期长于过程的变量; [2]动态申请空间的变量; [2]两个子程序的共享存储。 *6.1.4 堆区的存储分配 特点:可随时分配和释放空间 存储对象: 用于存放动态申请空间变量的值,如new(p) 释放空间方法: 显示释放:如delete(p)、dispose(p) 隐式释放:单指针释放 计数释放法 标记释放法 *6.1.5 堆区空间管理 堆空间的分配方法: 最佳符合法、首次优先法、循环首次优先法 堆片的结构: 6.2 过程活动记录与栈区的组织结构 过程活动记录(AR):过程的一个现场记录; 记录内容: ?过程控制信息:先行活动记录的动态链指针、 返回地址、层数和长度等; ?机器状态信息:寄存器状态等; ?全局变量信息: 非局部变量的信息; ?局部变量值:形参变量、局部变量和临时变量。 AR的结构: 例: Procedure p(i:integer); Var y:real; a:array[1..10]of integer; Begin y:=a[i]*25 end 则过程p被调用时的活动记录AR结构如下: 活动记录的填写 由目标代码完成,假设用NewAR表示新AR,用CurrentAR表示当前(AR),并且调用Q过程,则NewAR区的创建与内容填写方法如下: NewAR.Parameters:=实参值; NewAR.DynamicChain:=sp; NewAR.Return:=ReturnAddr; NewAR.Level:=Level(Q); NewAR.Size:=Size(Q); NewAR.registors:=(R1,R2,?,Rn); sp:=sp+CurrentAR.Size; Goto code(Q); 活动记录的填写 当Q过程的代码结束时,返回方法如下: (R1,?,Rn) :=CurrentAR.Register; Value := CurrentAR.ReturnValue; sp := CurrentAR.DynamicChain; GOTO CurrentAR.ReturnAddr; 栈区组织结构------AR链 AR链:是把活动记录AR用指针连接起来的链表,记为ARC,也称为动态链。 ARC=[AR0,AR1,…,ARn] ?动态链的物理示意图: 6.3 运行时的变量访问环境 过程运行状态:用三元组来描述: 记为:(BodyCode,AccessEnv,ValueSpace) 其中: 过程代码BodyCode中的变量通过AccessEnv来访问ValueSpace中的值。 6.3.1 可访问活动记录 过程中可访问变量: 记为:VarSet(P)={Vars(0),Vars(1),…,Vars(L)} 其中Vars(i)表示在i层过程中被声明的变量集,且过程的层次为L。 可访问AR: 即过程体可访问的记录空间,并记为VisibleAR(ARC),例如设: ARC=[AR0(m),AR1(f),AR2(g),AR3(g)] 其中m为
您可能关注的文档
- 2004-2005学年第二学期期末考试试题A答案.doc
- 商城店铺自定义区设置.doc
- 人教版3.4力的合成教案霍邱何伟.doc
- 早会流程示范.ppt
- CAD画餐厅酒吧台.doc
- 经纬仪导线计算自动化.doc
- 08对象和类_1.ppt
- 想咋看都可以教你玩转Win7系统时钟.doc
- 会计考试资格资料.doc
- 西下山轨道下车场磨弯道安全技术措施.doc
- 2024年吡咯啉酮项目可行性研究报告.docx
- 2024年铸造式高压风车项目可行性研究报告.docx
- 2024至2030年中国折叠台数据监测研究报告.docx
- 2024至2030年中国专业录音电容式麦克风数据监测研究报告.docx
- 2024至2030年中国可调双金导片式疏水阀行业投资前景及策略咨询研究报告.docx
- 2024至2030年附针项目投资价值分析报告.docx
- 2024至2030年中国模块化风冷热泵机组数据监测研究报告.docx
- 2024至2030年中国航天航空和军用连接器数据监测研究报告.docx
- 2024年03月山东青岛西海岸新区“优选”选聘120人笔试历年典型考题与考点剖析含答案详解.docx
- 2024年03月安徽黄山市市直中小学新任教师招考聘用62人笔试历年典型考题与考点剖析含答案详解.docx
最近下载
- 部编版道德与法治三年级上8.安全记心上(教学设计)册.docx
- 2024年《信访工作条例》知识竞赛题库及答案.pdf VIP
- 2次供水单位试题.doc VIP
- 第8课 在实践中提高认识能力 课件-2023-2024学年中职高教版(2023)哲学与人生_46364012.pptx VIP
- GB_T50795-2012:光伏发电工程施工组织设计规范.pdf VIP
- 中国大唐集团公司电力生产事故调查规程(新版).docx
- GB50794-2012:光伏发电站施工规范.pdf VIP
- 健康教育特色幼儿园.pptx
- 新能源汽车专业的职业生涯规划书.pdf
- 人教版六年级上册数学全册课时练习(含答案).pdf
文档评论(0)