呼叫約定

電腦科學中,呼叫約定是一種定義子過程從呼叫處接受參數以及返回結果的方法的約定。不同呼叫約定的區別在於:

  • 參數和返回值放置的位置(在暫存器中;在呼叫棧中;兩者混合)
  • 參數傳遞的順序(或者單個參數不同部分的順序)
  • 呼叫前設置和呼叫後清理的工作,在呼叫者和被呼叫者之間如何分配
  • 被呼叫者可以直接使用哪一個暫存器有時也包括在內。(否則的話被當成ABI的細節)
  • 哪一個暫存器被當作volatile的或者非volatile的,並且如果是volatile的,不需要被呼叫者恢復

參見

參考文獻