Member 14594285 Ответов: 3

Где находится main в приложении MFC?


Я новичок в MFC c++, я начал проект, но у меня нет штрафа main..Я вижу в cpp:
MFCApplication7.cpp
MFCApplocation7Dlg.cpp
stdaf.cpp
Я Дун не вижу главного

Что я уже пробовал:

Я не нахожу главного, что видел в cpp

3 Ответов

Рейтинг:
15

CPallini

То WinMain имплементация обеспечивается ("скрыта") MFC рамки.
Эта страница, хотя и датированная, может дать вам представление: В типичном приложении MFC мы никогда не пишем функцию WinMain (), так как же можно скомпилировать и связать программу windows без WinMain()?[^].
Более современный MFC наверное прячется WinMain в другом месте, но вы поняли идею.


Stefan_Lang

С чего ты взял, что они вообще потрудились перевезти Уинмейн? АФАИК, за десятилетия они ни разу не меняли МФЦ, а только дополняли его. Они даже не думали о том, чтобы зафиксировать параметры событий динозавров WPARAM и LPARAM, чтобы стать приличными типами-они только добавили функции и вспомогательные типы (например, DWORD_PTR), чтобы справиться с современными требованиями, такими как компиляция 64 - битных приложений.

CPallini

Потому что я нашел его в 'atlbase.h' на моей Visual Studio 2017 :-)
Кстати, спасибо.

Rick York

WinMain был "скрыт", поэтому класс CWinApp будет основным экземпляром. По большей части они устранили всякую необходимость в раскрытии цикла сообщений, так что нет никакой необходимости выставлять WinMain. Это верно для WPARAM и LPARAM также потому, что подавляющее большинство методов обработки сообщений передаются полезными типами, а не "сырыми" значениями типов WPARAM и LPARAM. DWORD_PTR и его братья и сестры были добавлены в целях переносимости. Можно написать код, который компилируется в 32-и 64-битных режимах без изменений или ifdefs. У меня есть много кода, который может это сделать. В наши дни мне действительно не нужен 32-битный код, хотя я использую только 64-битные ОС.

Рейтинг:
1

Thomas Daniels

Что такое функция запуска в приложении MFC[^] - "В приложении MFC точка входа скрыта в библиотеке"
МФЦ под капотом[^]


CPallini

Мой 5.

Рейтинг:
1

Richard MacCutchan

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


CPallini

Мой 5.