Question

Pourriez-vous s'il vous plaît m'expliquer le WINAPI mot dans le WinMain() fonction?

De la manière la plus simple ..

#include <windows.h>

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

Est-ce juste un mode funky Windows?

Qu'est ce que ça fait? Ou plutôt quelle est cette fonction C ++ que je n'ai pas encore rencontrée?

Était-ce utile?

La solution

WINAPI est une macro qui évalue __stdcall, un mot-clé spécifique à Microsoft qui spécifie une convention d'appel où la Callee nettoie la pile. L'appelant de la fonction et Callee doivent se mettre d'accord sur une convention d'appel pour éviter de corrompre la pile.

Autres conseils

Il s'agit d'une définition macro destinée à désigner la convention d'appel Windows. De MSDN:

La façon dont le nom est décoré dépend de la langue et de la façon dont le compilateur est invité à rendre la fonction disponible, c'est-à-dire la convention d'appel. La convention d'appel inter-processus standard pour les fenêtres utilisées par DLLS est connue sous le nom de convention WinAPI. Il est défini dans les fichiers d'en-tête Windows comme WinAPI, qui est à son tour défini à l'aide du déclarateur Win32 __STDCALL.

Winapi est une macro qui se développe à __stdcall Ce qui signifie que la Callee nettoie la pile.

C'est spécifique à Windows. Il spécifie la convention d'appel. Winmain est appelé par Windows, ce qui garantit que l'appelant et Callee s'accordent sur la convention d'appel.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top