_stdcall
-
Mal eine Frage, _stdcall macht es ja für andere Sprachen an eine DLL anzuknüpfen.
So jetzt, muss dieses _stdcall an alles einzeln rangesetzt werden. Auch an die Funktionen, oder reicht es wenn die Deklaration das hat.
Bsp.
int _stdcall machwas(void);
int _stdcall machwas(void){Funktion;}
oder reicht
int machwas(void){Funktion;}Hab das gerade gelesen, das es nützlich sein soll. Aber leider nix über die genaue Anwendung gefunden. Auch nicht im Forum.
-
Nightstorm schrieb:
So jetzt, muss dieses _stdcall an alles einzeln rangesetzt werden. Auch an die Funktionen, oder reicht es wenn die Deklaration das hat.
Nein das gehört überall hin (Deklaration und Definition).
PS in der MSDN gibts noch ne Erklärung dazu
.Siehe:
Argument Passing and Naming Conventions schrieb:
The __stdcall calling convention is used to call Win32 API functions. The callee cleans the stack, so the compiler makes vararg functions __cdecl. Functions that use this calling convention require a function prototype. The following list shows the implementation of this calling convention.
Quelle
__stdcall
-
Danke erstmal.
aber noch eine Frage muss das auch an Variablen und Strukturen, wenn ich das richtig interpretiere, geht es nur um den Funktions-Stack. Oder? Wie macht man das eigentlich an einen Callback?
so:
typedef void _stdcall (*pointername)(parameter);und muss die Funktion auch eine
void _stdcall name(para) sein?
-
Nightstorm schrieb:
aber noch eine Frage muss das auch an Variablen und Strukturen, wenn ich das richtig interpretiere, geht es nur um den Funktions-Stack. Oder?
Ja.
Nightstorm schrieb:
Wie macht man das eigentlich an einen Callback?
typedef void _stdcall (*pointername)(parameter);
und muss die Funktion auch eine
void _stdcall name(para) sein?Ja.