vaiablenspezifizierer bei variablendeklarationen...



  • hallo, seit laengerer zeit quaelt mich eine frage: wie bezeichnet man die einzelnen variablenspezifizierer wie z.B:

    int WINAPI WinMain (...)

    oder:

    LRESULT CALLBACK WndProc

    sind LRESULT und WINAPI typquilifizierer? das folgende gehoert zwar nicht zu ANSI C, aber was ist dann __exit und __init die vor die anfangs- und endfunktionen von Linux Kernel Modulen geschrieben sind - auch typquilifizierer?

    Gruss
    caspar



  • WINAPI und CALLBACK sind #defines auf stdcall, was wiederrum eine Aufrufkonvention ist (in welcher Reihenfolge Parameter auf den Stack gepusht werden etc.)
    Man benutzt CALLBACK um zu verdeutlichen, dass die folgende Funktion eben eine Callback-Funktion ist und von Windows aufgerufen wird.

    Zu init und exit:
    http://www.tldp.org/LDP/lkmpg/2.6/html/x264.html



  • Man benutzt CALLBACK um zu verdeutlichen, dass die folgende Funktion eben eine Callback-Funktion ist und von Windows aufgerufen wird.

    Diese das liegt zwar am nähsten, stimmt aber nichr ganz.
    Man benutzt CALLBACK damit die calling convention eindeutig definiert ist. Würde das nicht davor stehen und du auf fastcall, oder sonst was, umschalten würdest, knallts.



  • LRESULT (wahrscheinlich ein typedef) und int sind Type Specifiers. Type Qualifiers sind const, volatile, restrict.


Anmelden zum Antworten