Сначала выполняется статическая часть, затем она вызывает точку входа, реализованную пользователем. Он может быть другим или одинаковым, но компоновщик может связать вызов с разными точками входа в зависимости от настроек. Вы можете думать об этой статической части как о части среды выполнения C.

жения с графическим интерфейсом Windows, написанные на C / C ++, имеют в качестве точки входа «WinMain» (а не «main»). Насколько я понимаю, компилятор генерирует «основную» функцию, которая вызывается средой выполнения C. Эта «основная» функция устанавливает необходимую среду для графического интерфейса и вызывает WinMain (с указанием дескрипторов экземпляра и т. Д.).

Короче говоря, я считаю, что запуск консоли и приложений с графическим интерфейсом может отличаться следующим образом:

Консольное приложение: C Runtime -> «главная» функция (с ручным кодированием)

Приложение с графическим интерфейсом: C Runtime -> функция 'main' (генерируется компилятором) -> функция 'WinMain' (кодируется вручную)

Я хотел бы проверить это понимание и выяснить, как я могу вручную написать графический интерфейс Windows с помощью только основной функции (т.е. без необходимости писать «WinMain»).

Ответы на вопрос(1)

Ваш ответ на вопрос