代码之家  ›  专栏  ›  技术社区  ›  RayaneCTX

C调用约定/参数传递[重复]

  •  0
  • RayaneCTX  · 技术社区  · 8 年前

    我到处找(“从头开始编程”,维基百科 x86 Calling Convention

    int func(int);
    
    int main() {
        func(5);
        return 0;
    }
    
    int func(int a) {
        return a;
    }
    

    参数a通过寄存器%edi传递(使用 gcc -S ex.c 在Ubuntu 64位计算机上编译)。我传递了更多的参数,调用者只是使用更多的寄存器来传递值。

    0 回复  |  直到 8 年前