Я только начал изучать программирование для окон на C++. У меня было это безумное изображение, что win32-программирование основано на вызове функций Windows и отправке параметров в и из них. Например, когда вы хотите создать окно, вы вызываете некоторую функцию win32, которая обрабатывает графический интерфейс Windows и говорит «Привет, пожалуйста, создайте мне новое окно, 100 x 100 px, с двумя кнопками», и что функция GUI говорит «Привет, без проблем , когда что-то происходит, как пользователь нажимает одну кнопку, я изменю эту переменную xy, расположенную в этом месте ».C++ использование winmain()
Итак, я думал, что это будет очень похоже на консольное программирование. Но первая инструкция меня удивила. Я всегда думал, что каждая программа выполняет функцию main(). Итак, когда я запускаю приложение, окна хранят некоторые параметры поверх стека и запускают это приложение. Поэтому я предположил, что инициализация main() - это просто C++ способ сообщить компилятору, где должна быть первая инструкция.
Но в программировании win32 есть функция WinMain(), которая начинается с первого. Поэтому я немного смущен. Я думал, что правило, что компилятор должен иметь main() для начала, этот main определяет, где он начинается, например, некоторый идентификатор начальной точки.
Итак, пожалуйста, почему функция WinMain() вместо main()? Когда я думал, что программирование на С ++ логично, как ассемблер, это снова смущает меня.
У вас может быть программа Win32, которая начинается с 'main()'. Консольные программы делают это. – sbi
О, и вы можете сломать это море свинца в абзацы. – sbi
Нет «winmain», есть «WinMain». – avakar