Frage

Könnten Sie mir bitte das erklären WINAPI Wort in der WinMain() Funktion?

Auf einfachste Weise ..

#include <windows.h>

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

Ist es nur ein Windows Funky -Modus?

Was tut es? Oder besser gesagt, was ist diese C ++ - Funktion, die ich noch nicht begegnet bin?

War es hilfreich?

Lösung

WINAPI ist ein Makro, das bewertet __stdcall, ein Microsoft-spezifisches Schlüsselwort, das eine Anrufkonvention angibt, bei der der Callee den Stapel reinigt. Der Anrufer und der Callee der Funktion müssen sich auf eine aufrufende Konvention einigen, um zu vermeiden, dass der Stapel korrumpiert wird.

Andere Tipps

Dies ist eine Makrodefinition, die die Windows -Aufrufkonvention bezeichnen soll. Aus Msdn:

Die Art und Weise, wie der Name dekoriert ist, hängt von der Sprache und davon ab, wie der Compiler angewiesen wird, die Funktion zur Verfügung zu stellen, dh der Anrufkonvention. Die Standard-Inter-Process-Aufrufkonvention für Windows, die von DLLS verwendet werden, wird als WinAPi-Konvention bezeichnet. Es ist in Windows -Header -Dateien als WinAPI definiert, was wiederum mit dem Win32 -Deklarator __stdcall definiert ist.

Winapi ist ein Makro, das sich ausdehnt __stdcall Was bedeutet, dass der Callee den Stapel reinigt.

Es ist Windows-spezifisch. Es gibt die Anrufkonvention an. Winmain wird von Windows aufgerufen, und dies stellt sicher, dass der Anrufer und Callee auf die Anrufkonvention vereinbaren.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top