函数名是指令记忆的别名吗?

时间:2015-08-02 07:52:49

标签: c

考虑功能

    int fun(){
            int I;
    }

现在很有趣的是指向内存的指针或只是内存位置的别名。

2 个答案:

答案 0 :(得分:1)

编译器通常只是内联一个简单的函数,所以这样的东西可能都不是。但除此之外,它实际上是一系列指令。对于每个函数调用,编译器将放置一系列指令,将当前寄存器保存在堆栈中,然后跳转到与该函数名对应的内存位置,然后将任何参数弹出到寄存器中,并包括一个ret(return)调用at将使堆栈和指针恢复到下一条指令的结束。

答案 1 :(得分:1)

它是一个别名,就像静态数组一样。它解析为一个地址,但与指针不同,它不存储地址。