Что такое __stdcall
используется слово CALLBAC которое если я правильно понимаю является
#define CALLBAC __stdcall
Но зачем он нужен ?
Ведь одной функции можно передать указатель на другую без него.
Цитата:
Originally posted by BigBug
В функциях передающихся по указателю другим функциям
используется слово CALLBAC которое если я правильно понимаю является
#define CALLBAC __stdcall
Но зачем он нужен ?
Ведь одной функции можно передать указатель на другую без него.
В функциях передающихся по указателю другим функциям
используется слово CALLBAC которое если я правильно понимаю является
#define CALLBAC __stdcall
Но зачем он нужен ?
Ведь одной функции можно передать указатель на другую без него.
__stdcall - это один из так называемых calling convention - ов. А конкретно - формат вызова функции - как оно будет выглядеть в машинных кодах. Существует несколько различных типов вызовов - stdcall, fastcall, ccall, cdecl. stdcall означаетб что все аргументы будут передаваться в функцию через стек. Возможно, у мелкомягких были свои причины зашить жестко тип вызова для callback функций - и дабы ты не дай бог не подпихнул ей fastcall функцию (где часть параметров передается через регистры) был сделан сей дефайн. Подробнее о типах вызовов можешь прочитать в MSDN или в нете.