To use this linkage convention, use the __stdcall keyword in the declaration of the function. You can make __stdcall the default linkage by specifying the /Mt compiler option.
The following rules apply to the __stdcall calling convention:
For functions that return aggregates 5, 6, 7 or more than 8 bytes in size, the address to place the return values in is placed as a hidden parameter and the address is passed back in EAX.
int fred(int, int, short);
would appear as:
_fred@12
in the object module.
When
building export or import lists in module definition files, the
decorated version of the name should be used. This is
automatically handled when using #pragma export and #pragma
import.
When
building export or import lists in module definition files, the
decorated version of the name should be used. This is
automatically handled when using #pragma export and #pragma
import. If you use undecorated names in the module definition
file, you must give the object files to the ILIB utility along
with the module definition file. ILIB will use the object files
to determine how each name ended up after decoration.
![]()
Examples Using the __stdcall
Convention
ILIB Objects