function calling



  • hi

    was ist eigedlich der unterschied von
    _stdcall
    und
    _cdecl

    weil mein vc++ meckert immer was von wegen stackpointer, bei funktionszeigern, bei _cdecl.
    jedoch bei _stdcall nicht.

    danke



  • stdcall und cdecl legen fest, wie die Parameter einer Funktion übergeben werden, d.h. auf Assemblerebene. Diese können z.B. von links nach rechts oder rechts nach links auf den Stack geschoben werden, oder sie können in den CPU-Registern übergeben werden, etc. Außerdem legt man so fest, wer hinterher für's Aufräumen zuständig ist, d.h. den Ausgangszustand vor dem Funktionsaufruf wiederherstellt (Aufrufer bei stdcall oder Funktion selber bei cdecl).


Anmelden zum Antworten