<编译器> 6. 活动记录 | 2. Tiger 编译器的栈帧

静态链

 
静态链:
调用函数 f() 时,传递给 f() 一个指针,指向静态包含 f() 的那个函数
g(){
    ...
    // 调用 f() 时,传递 g() 的指针    
    f() { ... }
}
 
 
静态包含:
在编译器的上下文中,"静态包含"(Static Inclusion)通常指的是在编译时直接将一个源文件的内容包含到另一个源文件中,而不是在运行时动态地加载。
 
 
 
 
视角移位(新的栈帧压栈)

生成对应的指令
 
 
 
 
 
 
 
 
 
 

 

 

 

 

 

 

 
 
 
 
 
 
posted @ 2024-03-15 19:43  Leon大帝  阅读(3)  评论(0编辑  收藏  举报