CDECL 呼び出しインターフェース規約は、多くの Windows C および C++ システムによって使用されています。 CDECL では、EAX、ECX、および EDX を除くすべての汎用レジスターが保持されます。
次の規則が CDECL に適用されます。
| 項目のサイズ (単位: バイト) | 値が戻る場所 | コメント |
|---|---|---|
| 8 | EAX-EDX ペア | |
| 5-7 | EAX | 戻り値用のアドレスは、EAX に隠しパラメーターとして受け渡される。 |
| 4 | EAX | |
| 3 | EAX | 戻り値用のアドレスは、EAX に隠しパラメーターとして受け渡される。 |
| 2 | AX | |
| 1 | AL |
サイズが 5、6、7、または 8 バイトより大きい項目を返すプログラムの場合、戻り値用のアドレスは隠しパラメーターとして受け渡され、アドレスは EAX に渡される。
モジュール定義ファイルでエクスポートまたはインポートのリストを作成する場合は、装飾されたバージョンの名前を使用してください。 モジュール定義ファイルで装飾されていない名前を使用する場合は、ILIB ユーティリティーに対して、モジュール定義ファイルとともにオブジェクト・ファイルを提供する必要があります。 ILIB は、このオブジェクト・ファイルを使用して、各名前が装飾後にどのようになるかを判別します。