引数の渡し方と名前付け規則

Microsoft 固有の仕様 →

すべての引数を 32 ビットに渡されたときに拡大変換されます。戻り値は32 ビットに拡大されずハードウェアのレジスタに EDX に返されるバイトの構造を除き再び表示 : ハードウェアの登録のペア。より大きな構造体は隠ぺいされたこれらの構造体にはハードウェアの登録にポインターを返します。パラメーターはスタックに右から左へプッシュされます。POD では構造はレジスタに戻りません。

コンパイラは関数で使用する場合ESI EDIおよび EBX EBP レジスタを保存および復元するためにプロローグとエピローグ コードを生成します。

[!メモ]

構造体共用体またはクラスを値渡しで関数から戻るとき型のすべての定義は実行時に他のプログラムやがあります。失敗した同じである必要があります。

独自の関数プロローグとエピローグを定義する方法の詳細については 生の関数呼び出し を記述する方法" " を参照してください。

次の呼び出し規約はC/C++ コンパイラによってサポートされます。

Keyword

スタックがクリア

パラメーター。

__cdecl

呼び出し元

逆順のスタックのパラメーターをEnter キー (右から左)

__clrcall

適用なし

式の順序で CLR スタックにパラメーターを読み込む] (左から右)。

__stdcall

呼び出し先

逆順のスタックのパラメーターをEnter キー (右から左)

__fastcall

呼び出し先

次にスタックにプッシュされるレジスタに格納されている

__thiscall

呼び出し先

スタックにプッシュされる ; ECX に格納されている this のポインター。

関連情報については旧式の呼び出し規約 を参照してください。

特定の終了

参照

関連項目

呼び出し規約