第七章+运行时环境精讲.ppt

第七章 运行时刻环境 Code and Data在运行时如何组织? 两个问题: 存储分配 变量的访问 本章主要内容 存储管理——在代码生成之前,把静态的程序和实现程序运行时的活动联系起来。 活动记录(栈) 过程的一次执行称为过程的一次活动 过程的活动需要可执行代码和存放所需信息的存储空间,后者称为活动记录 讨论一个活动记录中的数据安排,以及程序执行过程中,所有活动记录的组织方式 Three kinds of runtime environments Fully static environment: FORTRAN77 Stack-Based environment:C C++ Fully dynamic environment:LISP 7.1 存储组织 典型的内存组织形式 存储区划分为块 目标代码 数据对象 堆 空闲内存 记录过程活动的控制栈的对应区域 7.2栈式分配 支持过程、函数 函数调用 7.2.1 活动树 活动:过程体(函数)的一次执行。 可以同时存在关于同一个程序的多个活动(如并发、递归调用)。 活动的生存期:活动存在的时间。 活动树:用树来描绘控制进入和离开活动的方式 例7.1 C的quicksort程序 C的quicksort程序(续) 程序的一次执行(活动) 例7.2 活动树和控制栈 活动树的特点 控制栈(运行时刻栈) 当前活跃着的过程活动可以保存在一个栈中

文档评论(0)

1亿VIP精品文档

相关文档