seclan のほえほえルーム

| |

・関数の呼び出し形式 (1999/06/16 [])
 Microsoft 系のコンパイラでは、関数/手続きの呼び出し方にはいくつかの方法があります。そのためには、修飾子を使用して関数を修飾します。具体的な修飾子には次のようなものがあります。

関数の呼び出し形式
呼び出し形式修飾子名前の変形(sub)パラメータを捨てる方引数の渡し方
C言語の呼び出し_cdecl_sub呼び出し側右から左
PASCAL言語の呼び出し_pascalSUB呼び出された側左から右
Win32 呼び出し_stdcallsub呼び出された側右から左
高速呼び出し_fastcall@subレジスタ、呼び出された側レジスタ、左から右

 ちなみに、Win32 API はすべて _stdcall 呼び出しとなっているので、C 言語や C++ 言語から呼び出す時には、かならず _stdcall 修飾子をつけておかないとプログラムが正しく動作しません。SDK で提供されているヘッダファイルにはすべて _stdcall 修飾子がついているので、include するだけでそのまま関数を利用することができます。
 またアセンブラでプログラムを記述する場合には、常にこの呼び出し形式に気をつける必要があります。


by seclan

関連


| |

 

配信

5.19 msec