Вопрос немного странный однако, попробую сформулировать. Скорее он звучит так "что делают в win32 project на с++". В обычном консольном приложении точка входа обычный int main(). Насколько я знаю, точкой входа в win32 project является WinMain, выходит в win32 project работают с чистым winapi (windows.h) верно? Однако, если это так то почему на нем спокойно запускаются приложения через int main()?
Выбор между main и другими (нестандартными) точками входа определяется параметрами компилятора. Например, в Visual C++:
При указании параметра /SUBSYSTEM:CONSOLE
, точкой входа является реализованная компилятором функция mainCRTStartup, которая вызывает реализованную программистом функцию main/wmain.
При указании параметра /SUBSYSTEM:WINDOWS
, точкой входа является реализованная компилятором функция WinMainCRTStartup, которая вызывает реализованную программистом функцию WinMain/wWinMain.
Если также указан параметр /ENTRY
, вместо указанных выше точек входа будет использована явно указанная функция.
Источник
Функции с префиксом "w" используются со строковыми параметрами типа WCHAR, а без него - с обычным char. Если указать параметры неправильно, будет ошибка компилятора (что-то вроде "Нельзя перегрузить WinMain"); однако выбор между main и wmain не обязательно должен соответствовать параметру Character set в свойствах проекта.
При выборе типа проекта "Win32 Project", начальное значение параметра SUBSYSTEM будет WINDOWS, поэтому используется WinMain. Однако можно поменять настройки, так чтобы использовалась main или вообще какая-то другая функция, и весь функционал WinAPI будет работать точно так же. Иными словами, WinMain - это просто традиционная точка входа для приложений WinAPI, но никакого правила, что "Приложение Win32 всегда должно использовать WinMain" не существует.
Виртуальный выделенный сервер (VDS) становится отличным выбором
Беда в том, что _getch() считывает некоторые символы дважды и то
mingw32 и mingw64 - как отличить в какой среде оно запущено ? Вариантов минимум два, или на Linux, или на Windows
ЗдравстуйтеЕсть необходимость собрать проект весом не более 1 мб, но 1 класс в проекте весит около 13мб
Подскажите, можно ли через WinApi определить кодировку переданной строки char* ? Мне нужно по переданной строке сравнивать является и она Utf8 или...