实验:活动记录 (Activation Record) 可视化
本实验演示 C 语言函数调用时的运行时栈(Runtime Stack)变化,以及单个活动记录(栈帧)的内部结构。
核心概念:
- Typical Subdivision: C 语言活动记录的典型分区(参数、返回地址、控制链、局部变量等)。
- LIFO: 函数调用遵循“后进先出”原则。
- 递归: 观察递归调用时,栈中如何同时存在多个
fact函数的活动记录。
C 源代码
调用 main,入栈1 / 18
运行时栈 (Runtime Stack)
高地址
↓
低地址mainFP: 0x3e8
控制信息 (Control Info)
Ret Addr: OS
Old FP: 0x0000
Saved Regs: R1, R2...