メインコンテンツまでスキップ

呼び出し規約

比較

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

cdecl (C Declaration)

stdcall (Standard Call)

fastcall

thiscall

x64