WinMainのWINAPIというおまじないについて
前回の投稿(http://mzs184.blogspot.com/2007/06/mainwinmain.html)で
int WINAPI WinMain (HINSTANCE hInstance,
HINSTANCE hPrevInstance,
PSTR szCmdLine,
int iCmdShow);
のWINAPIってなんなんやろ~って疑問として残ってましたが、
windef.h内で以下のように定義されていました。
#define WINAPI __stdcall
__stdcallってなんやねん!って調べてたら。
関数の呼び出し規約とかいうものらしい
ここがすごいわかりやすかったので紹介
http://arton.no-ip.info/collabo/backyard/?StdDeclCDecl
-----紹介したサイトの抜粋です
__stdcallは、WIN32 APIの呼び出し規約で、スタックの解放を呼ばれた側が行い(したがって、varargは使用不可)、__cdeclは、スタックの解放を呼ぶ側が行う(したがって、varargを使用可能)。
----
実際にアセンブリコードとの混合モードで解説してあるので
すんごいわかりやすかった!
WINAPIというおまじないはこれで解決っと
0 件のコメント:
コメントを投稿