函数内联实验指导

在实现函数内联时,下面是几个你可能会遇到困难的点。

  1. 如何判断一个函数能否被内联

    在 miniSysY 语言中,如果一个函数不是自调用的递归函数,也不是main函数,那么它就是能够被内联的。(幸运的是,在 miniSysY 语言中没有“函数声明”这种东西,所以不会出现多个函数之间合作形成递归函数的情况)

  2. 被内联的函数原来是通过返回值来和调用它的程序互动的,内联后我怎么把两边“接上”?

    创建一个临时的匿名的变量,用于存储一个 call 指令的返回值,被内联函数的所有 return 转换为对这个临时变量的存,对内联前的 call 指令的使用转换为对这个临时的匿名变量的使用。

results matching ""

    No results matching ""