Чем отличаются типы bool и BOOL я знаю, а вот чем отличаются void и VOID, long и LONG и самое главное зачем все это нужно.
Особенно интересуют вроде как синонимы APIENTRY и WINAPI.
Здравствуйте, ice71crew, Вы писали:
I> Чем отличаются типы bool и BOOL я знаю, а вот чем отличаются void и VOID, long и LONG и самое главное зачем все это нужно. I>Особенно интересуют вроде как синонимы APIENTRY и WINAPI.
Тут надо четко понимать: маленькими — это С++, а большими — это Windows.
С++ — это международный стандарт, все компиляторы должны включать,
а типы Windows — это это синонимы, определенные definом.Как придумали в Микрософте, так и идет. В *nixах таких типов нет.
Если полезешь в каталог include, покопаешься в файлах win....h, найдешь все определения таких типов.
Первые версии Windoв писались вообще на паскале. Поэтому в старых книжках по ей можно вообще найти префикс PASCAL. Это связано с порядком передачи параметров функции в стеке и кто освобождает стек — вызывающая или вызываемая.
В общем, хочешь разобраться — полазь по файлам каталога include, а потом и вопросы многие отпадут
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Здравствуйте, ice71crew, Вы писали:
I> Чем отличаются типы bool и BOOL я знаю, а вот чем отличаются void и VOID, long и LONG и самое главное зачем все это нужно. I>Особенно интересуют вроде как синонимы APIENTRY и WINAPI.
Все это псевдонимы типов и/или различных спецификаторов (типа __stdcall или __declspec(nothrow) ), используемые в WinAPI в целях переносимости или повторного использования исходников. Правда иногда кажется что их цель — запутать программиста
Там где язык позволяет, псевдонимы объявлены с помощью typedef, в других случаях используется #define.
Большую часть псевдонимов WinAPI ты найдешь в windef.h и в MSDN "data types [Win32]"
Здравствуйте, Другой Аноним, Вы писали:
ДА>Здравствуйте, LaptevVV, Вы писали:
LVV>>Первые версии Windoв писались вообще на паскале.
ДА>Откуда такая легенда вообще?
Оттуда, что апишные функции использовали паскалевское соглашение о вызовах (для уменьшения объема двоичного кода). Почему-то, некоторые делают из этого вывод, что Винду писали на Паскале.