От: | fay | www.bekhter.net | |
Дата: | 05.08.05 11:38 | ||
Оценка: | 1 (1) |
OE>>Согла- Порядок Очистка Расширение Примечания
OE>>шение передачи стека имени
OE>>вызова аргументов
OE>>
OE>>__stdcall Справа Вызванная К имени функции Используется почти
OE>> налево функция сама добавляется пре- всеми системными
OE>> может удаляет свои фикс из символа функциями;
OE>> наоборот - ? аргументы из подчеркивания Используется по
OE>> стека. и суффикс из сим- умолчанию внут-
OE>> вола @, за которым ренними функциями
OE>> следует десятич- Visual Basic
OE>> ный размер списка
OE>> аргументов в бай-
OE>> тах: например,
OE>> _Foo@12
OE>>
__stdcall
Microsoft Specific
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.
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
The /Gz compiler option specifies __stdcall for all functions not explicitly declared with a different calling convention.