Re: c_proc/func() bug ?

new topic     » goto parent     » topic index » view thread      » older message » newer message

Mic:
  This is from MSDN:

Microsoft Specific =97>
-----------------------------------------------------------------------
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=20
Argument-passing order Right to left.=20
Argument-passing convention By value, unless a pointer or reference type is=

passed.=20
Stack-maintenance responsibility Called function pops its own arguments
from the stack.=20
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=20
Case-translation convention None=20

-----------------------------------------------------------------------
This is the default calling convention for C and C++ programs. Because the
stack is cleaned up by the caller, it can do vararg functions. The __cdecl
calling convention creates larger executables than __stdcall, because it
requires each function call to include stack cleanup code. The following
list shows the implementation of this calling convention.

Element Implementation=20
Argument-passing order Right to left=20
Stack-maintenance responsibility Calling function pops the arguments from
the stack=20
Name-decoration convention Underscore character (_) is prefixed to names=
=20
Case-translation convention No case translation performed=20

Bernie

new topic     » goto parent     » topic index » view thread      » older message » newer message

Search



Quick Links

User menu

Not signed in.

Misc Menu