FreeBASIC マニュアルのトップに戻る

FreeBASIC Cdecl

目次→命令文→手続きCDECL←オリジナル・サイト

CDECL 左にメニュー・フレームが表示されていない場合は、ここをクリックして下さい

←リンク元に戻る プログラム開発関連に戻る

cdecl-スタイルの呼び出し規則を、手続きの宣言で指定します。

構文:
Sub name Cdecl [Overload] [Alias "alias"] ( parameters )
Function name Cdecl [Overload] [Alias "alias"] ( parameters ) [ Byref ] as return_type

記述:
手続きの宣言で、Cdecl は、手続きが、cdecl 呼び出し規則を使用する、と指定します。
cdecl 呼び出し規則では、どんなパラメータも、そのリストの逆順(すなわち右から左の順)で、渡される(スタックに押しつける)ことになっています。
手続きは、EAX, ECX または EDX レジスタを保存する必要はなくて、戻る前に、手続きはスタックを消去(全てのパラメタを取り出す)してはいけません。すなわち、呼ぶコードに残されます。

Cdecl は、可変個引数の手続きの宣言で使うことができます。(最後のパラメーターが、 "..." としてリストされたものを持つ)

Cdecl は、別の呼び出し規則が明示的に指定されるか、または、EXTERN blocks の1つで黙示的に示されない限り、Linux、*BSDs と DOS での、デフォルトの呼び出し規則です。
Cdecl は、一般的に、Cコンパイラのためのデフォルトの呼び出し規則です。そして、これは、Unix のようなシステム上で、ほとんど排他的に使われます。

手続き定義に宣言が (呼び出し規約が明示的かデフォルトで)あり、その定義で呼び出し規約が明示的に指定されていない場合、呼び出し規約は宣言によって暗示されます。

例:
' 標準の C ライブラリから、'strcpy' を宣言します。
Declare Function strcpy cdecl Alias "strcpy" (ByVal dest As ZString Ptr, ByVal src As ZString Ptr) As ZString Ptr



QBからの違い:

参照:
手続きに戻る

←リンク元に戻る プログラム開発関連に戻る

ページ歴史:2022-10-31 05:47:38
日本語翻訳:WATANABE Makoto、原文著作者:SysOp

ホームページのトップに戻る

表示-非営利-継承