Was bedeutet “WINAPI” in der Hauptfunktion?

Lesezeit: 2 Minuten

Was bedeutet WINAPI in der Hauptfunktion
Pyjong

Könnt ihr mir das bitte erklären WINAPI Wort im WinMain() Funktion?

Auf die einfachste Art..

#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 dieses C++-Feature, das mir noch nicht begegnet ist?

WINAPI ist ein Makro, das zu ausgewertet wird __stdcall, ein Microsoft-spezifisches Schlüsselwort, das eine Aufrufkonvention angibt, bei der der Aufgerufene den Stapel bereinigt. Der Aufrufer und der Aufgerufene der Funktion müssen sich auf eine Aufrufkonvention einigen, um eine Beschädigung des Stacks zu vermeiden.

  • Warum also an diesem bestimmten Ort? könnten sie das Makro nicht eine Zeile darüber geben?

    – Pyjong

    27. Februar 2010 um 18:31 Uhr

  • Das Schlüsselwort für die Aufrufkonvention steht zwischen dem Rückgabetyp und dem Funktionsnamen, weil es vor vielen Jahren von jemandem definiert wurde, der an einem C-Compiler arbeitete. Ich kenne die Gründe für die Syntax nicht oder auch nicht, welcher Compiler als erster die Angabe von Aufrufkonventionen (cdecl, pascal, fortran usw.) unterstützt hat. Microsoft? Borland? Gitter? Etwas anderes?

    – bk1e

    28. Februar 2010 um 3:45 Uhr

Was bedeutet WINAPI in der Hauptfunktion
Brian R. Bondy

WINAPI ist ein Makro, das erweitert wird __stdcall was bedeutet, dass der Aufgerufene den Stapel bereinigt.

Dies ist eine Makrodefinition, die die Windows-Aufrufkonvention bezeichnen soll. Von MSDN:

Die Art und Weise, wie der Name dekoriert wird, hängt von der Sprache ab und davon, wie der Compiler angewiesen wird, die Funktion verfügbar zu machen, dh von der Aufrufkonvention. Die standardmäßige prozessübergreifende Aufrufkonvention für Windows, die von DLLs verwendet wird, ist als WinAPI-Konvention bekannt. Es ist in Windows-Headerdateien als WINAPI definiert, das wiederum mit dem Win32-Deklarator __stdcall definiert ist.

Es ist Windows-spezifisch. Es gibt die Aufrufkonvention an. WinMain wird von Windows aufgerufen, wodurch sichergestellt wird, dass sich Aufrufer und Aufgerufener auf die Aufrufkonvention einigen.

906540cookie-checkWas bedeutet “WINAPI” in der Hauptfunktion?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy