编泽原理 1、栈式存储分配 使用栈式存储分配法意味着把存储组成一个栈。 运行时,每当进入一个过程(一个新的活动开 始)时,就把它的活动记录压入栈,从而形成 过程工作时的数据区,一个过程的活动记录的 体积在编译时是可静态确定的。 当该活动结束(过程退出)时,再把它的活动 记录弹出栈,这样,它在栈顶上的数据区也随 即不复存在。 第16页
编译原理 第16页 1、栈式存储分配 使用栈式存储分配法意味着把存储组成一个栈。 运行时,每当进入一个过程(一个新的活动开 始)时,就把它的活动记录压入栈,从而形成 过程工作时的数据区,一个过程的活动记录的 体积在编译时是可静态确定的。 当该活动结束(过程退出)时,再把它的活动 记录弹出栈,这样,它在栈顶上的数据区也随 即不复存在
编泽原理 C语言的程序结构 全局数据说明 Main ( {Main中的数据说明 } void R() {R中的数据说明 } void R() {R中的数据说明 } 第引7觉
编译原理 第17页 C语言的程序结构 全局数据说明 Main ( ) { Main中的数据说明 } void R ( ) { R中的数据说明 } void R ( ) { R中的数据说明 }
编译原理 C语言程序的存储组织 TOP R的活动记录 SP Q的活动记录 Main的活动记录 主程序全局数据区 SP:总指向现行过程活动记录的起点,用于访问局部数据。 TOP:始终指向(已占用)栈顶单元。 第18页
编译原理 第18页 C语言程序的存储组织 R的活动记录 Q的活动记录 Main的活动记录 主程序全局数据区 TOP SP SP:总指向现行过程活动记录的起点,用于访问局部数据。 TOP:始终指向(已占用)栈顶单元