Документация для WinMain объясняет, что это такое:
Предоставленная пользователем точка входа для графического Windows приложения.
Он объявлен в SDK, но для его реализации требуется автор программы.
Когда создается новый процесс, ОС вызывает в экспортированную точку входа исполняемого образа. По умолчанию это точка входа C Runtime (CRT) ( WinMainCRTStartup ), которая подготавливает среду выполнения до передачи управления в предоставленную пользователем точку входа WinMain
. Это первый пользовательский код, который выполняется.
Вы можете найти больше информации о том, что происходит, когда при запуске исполняемого файла на Windows на WinMain - просто обычное имя для точка входа в процесс Win32 .
Существует также доклад CppCon 2018 от Matt Godbolt под названием Биты между битами: как мы получаем main (), это объясняет подробно, что происходит перед выполнением первой строки пользовательского кода. Он указывается от c до Linux, но принципы применимы и к Windows.