58

関数WINAPI内の単語を教えてください。WinMain()

最も簡単な方法で..

#include <windows.h>

int -->WINAPI<-- WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, 
    LPSTR lpCmdLine, int nCmdShow)
{
    MessageBox(NULL, "Goodbye, cruel world!", "Note", MB_OK);
    return 0;
}

Windowsのファンキーモードだけですか?

それは何をするためのものか?というか、まだ出会っていないこの C++ 機能は何ですか?

4

4 に答える 4

64

WINAPI__stdcallは、呼び出し先がスタックを消去する呼び出し規約を指定する Microsoft 固有のキーワードである に評価されるマクロです。関数の呼び出し元と呼び出し先は、スタックの破損を避けるために呼び出し規約に同意する必要があります。

于 2010-02-27T18:25:09.857 に答える
9

WINAPI は、呼び出し先がスタックを消去することを意味する__stdcallに展開されるマクロです。

于 2010-02-27T18:25:50.830 に答える
8

これは、Windows の呼び出し規約を示すためのマクロ定義です。MSDNから:

名前の装飾方法は、言語と、コンパイラが関数を使用可能にする方法、つまり呼び出し規約によって異なります。DLL によって使用される Windows の標準プロセス間呼び出し規則は、WinAPI 規則として知られています。これは、Windows ヘッダー ファイルで WINAPI として定義され、Win32 宣言子 __stdcall を使用して定義されます。

于 2010-02-27T18:26:58.673 に答える
2

これは Windows 固有です。呼び出し規約を指定します。WinMain は Windows によって呼び出され、これにより、呼び出し元と呼び出し先が呼び出し規約に同意することが保証されます。

于 2010-02-27T18:27:05.173 に答える