Здравствуйте, <Аноним>, Вы писали:
А>Здрасьте. Где бы мне почитать про все эти __cdecl, __declspec и т. д. Можно ссылку, плиз?
Согла- Порядок Очистка Расширение Примечания
шение передачи стека имени
вызова аргументов
__cdecl Справа Аргументы из К имени функции Применяется
налево стека удаляются добавляется пре- по умолчанию
вызывающей фикс из символа функциями
функцией. подчеркивания: C и C++
Только это сог- например, _Foo
лашение поддер-
живает перемен-
ное число
аргументов
функций.
__stdcall Справа Вызванная К имени функции Используется почти
налево функция сама добавляется пре- всеми системными
удаляет свои фикс из символа функциями;
аргументы из подчеркивания Используется по
стека. и суффикс из сим- умолчанию внут-
вола @, за которым ренними функциями
следует десятич- Visual Basic
ный размер списка
аргументов в бай-
тах: например,
_Foo@12
__fastcall Первые два Вызванная К имени функции Поддерживается
параметра функция сама добавляется пре- только процессорами
типа DWORD удаляет свои фикс из символа с архитектурой Intel.
передаются аргументы из @ и суффикс из Это соглашение ис-
в регистрах стека. этого же символа, пользуется по умолча-
ECX и EDX; за которым сле- нию компиляторами
Остальные дует десятичный Borland Delphi.
параметры размер списка
передаются аргументов в бай-
справа налево. тах: например,
@Foo@12
this Справа налево. Аргументы из Нет. Автоматически приме-
(__thiscall) Параметр стека удаляются няется к методам клас-
this вызывающей сов C++, пока вы не ука-
передается функцией. жете стандартное согла-
в регистре шение вызова. При
ECX. объявлении методов COM
используется стандартное
соглашение вызова.
naked Справа налево. Аргументы из Нет. Используется, когда
стека удаляются программисту нужно
вызывающей написать собственные
функцией. пролог и эпилог.
(с)
Джон Роббинс. Отладка приложений Microsoft .NET и Microsoft WindowsАвтор(ы): Джон Роббинс
Ошибки — жуткая гадость. Многоточие... Ошибки являются причиной обреченных
на гибель проектов с сорванными сроками, ночными бдениями и опостылевшими
коллегами. Ошибки могут превратить вашу жизнь в кошмар, поскольку, если
изрядное их число затаится в вашем продукте, пользователи могут прекратить
его применение, и вы потеряете работу. Ошибки — серьезный бизнес.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>