Crossware

Table of Contents        Previous topic       Next topic       

C/C++ COMPILER->Function Calling Conventions->StdCall Calling Convention

The __stdcall calling convention is only available when the Advanced Features of the compiler are enabled.

When the /Gz option is used, __stdcall is the default calling convention and all functions must be prototyped.

Functions declared with the __stdcall qualifier will also use the __stdcall calling convention, overriding any alternative default option.

Functions declared with an ellipsis (...) parameter will be called with the traditional calling convention.

The __stdcall calling convention is identical to the __cdecl calling convention except that arguments are popped from the stack by the called function before it returns. (Callee pops stack.)

If a function is called only once, then this calling convention is less efficient in terms of code size than the __cdecl calling convention.  Otherwise it has either the same or better efficiency.