第九章 内存运行架构解析.pptVIP

  • 2
  • 0
  • 约3.12千字
  • 约 17页
  • 2026-07-30 发布于江苏
  • 举报

栈区的组织AR链或动态链程序运行时,每调用一种函数,就要为其分配一段连续空间,用于存放该函数运行时的各种信息(过程活动统计AR),函数运行结束返回时,其活动统计就要释放掉;在目前AR中保存前一种AR首地址,这么形成了一种链表;CurrentAR:目前栈顶的AR;CurrentFunction:目前AR相应的函数;AR0nilAR1AR2第1页

活动统计的详细结构活动统计动态链地址返回地址返回值暂时变量形参局部变量过程层次空间大小存放器状态变量访问环境spoffsetInitOff第2页

AR中每一项的详细解释sp:指向目前AR空间的首地址;(存放器)动态链地址:动态链地址相应的就是目前函数的调用函数的AR首地址;返回地址:保存本函数执行结束后应返回的代码地址;即目前函数调用的下一条代码的地址;活动统计长度:目前活动统计的空间大小;过程层次:本函数的层数;第3页

AR中每一项的详细解释存放器状态:保存在函数调用之前的所有存放器的值;返回值:保存函数的返回值;访问环境:保存相关信息,方便确定变量的存放地址;对于C语言来讲,能够不用(因为层数最大为1);形参变量区:存放参数的值的空间;局部变量区:存放局部变量的值的空间;暂时变量区:存放暂时变量的值的空间;第4页

AR的例子#definen2intsum=0;intf

文档评论(0)

1亿VIP精品文档

相关文档