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.Element Implementation 
Argument-passing order Right to left. 
Argument-passing convention By value, unless a pointer or reference type is passed. 
Stack-maintenance responsibility Called function pops its own arguments from the stack. 
Name-decoration convention An underscore (_) is prefixed to the name. The name is followed by the at sign (@) followed by the number of bytes (in decimal) in the argument list. Therefore, the function declared as int func( int a, double b ) is decorated as follows: _func@12 
Case-translation convention None 

解决方案 »

  1.   

    How to comprehend the statement bellow: "The callee cleans the stack, so the compiler makes vararg functions __cdecl. "
    It means that the one who call the function declared with the convention __stdcall needn't free the memory himself? Everything is done by the constructor
    of the function? Such like free(x)? Can you show me a simple example? Thank you