呼び出し規約
比較
| 規約 | 引数の順序 | スタックの清掃 | 戻り値 | 用途 |
|---|---|---|---|---|
| cdecl | 右から左の順でスタックに積まれる | caller | EAXレジスタ | Visual C++の既定 |
| stdcall | 右から左でスタックに積まれる | callee | EAXレジスタ | 多くのWindows APIで利用 |
| fastcall | 最初の2つの引数はECXおよびEDXレジスタ、残りは右から左の順でスタックに積まれる | callee | EAXレジスタ | 高速な関数呼び出しが必要な場合 |
| thiscall | メンバー関数のthisポインターはECXレジスタ、他の引数は右から左の順にスタックに積まれる | callee | EAXレジスタ | C++のメンバー関数呼び出しで使用 |
| x64 | 最初の4つの引数はRCX,RDX,R8,R9レジスタ、残りは右から左の順でスタックに積まれる | caller | RAXレジスタ | x64 |