调用约定

计算机科学中,调用约定是一种定义子过程从调用处接受参数以及返回结果的方法的约定。不同调用约定的区别在于:

  • 参数和返回值放置的位置(在寄存器中;在调用栈中;两者混合)
  • 参数传递的顺序(或者单个参数不同部分的顺序)
  • 调用前设置和调用后清理的工作,在调用者和被调用者之间如何分配
  • 被调用者可以直接使用哪一个寄存器有时也包括在内。(否则的话被当成ABI的细节)
  • 哪一个寄存器被当作volatile的或者非volatile的,并且如果是volatile的,不需要被调用者恢复

参见

参考文献