MFC DLL + Win32 EXE
От: Мёртвый Даун Россия  
Дата: 28.02.19 04:27
Оценка:
Какая практика использования MFC DLL из обычного Win32 EXE приложения?
Или так не рекомендуется?
Сходу не нагуглил.

(Понятно, что если сделать Си интерфейс, то наверное проблем не должно быть, т.е. из MFC DLL экспортить только функции.)
Только Путин, и никого кроме Путина! О Великий и Могучий Путин — царь на веки веков, навсегда!
Смотрю только Соловьева и Михеева, для меня это самые авторитетные эксперты.
КРЫМ НАШ! СКОРО И ВСЯ УКРАИНА БУДЕТ НАШЕЙ!
Re: MFC DLL + Win32 EXE
От: qaz77  
Дата: 01.03.19 10:07
Оценка: +1
Здравствуйте, Мёртвый Даун, Вы писали:

МД>Какая практика использования MFC DLL из обычного Win32 EXE приложения?

Это называется regular MFC DLL — свой инстанс MFC у каждой такой библиотеки.
По аналогии со static или DLL CRT.
Аналог DLL CRT называется MFC Extension DLL.

В каждой регулярной MFC DLL свой объект CWinApp и в функциях экспортируемого API
надо вызывать какую-то ерунду (MANAGE чего-то там STATE), чтобы правильно потоковые переменные выставлялись.

Сталкивался в своей практике еще с таким ахтунгом.
Если EXE собран не MSVC (в моем случае был Delphi), то могут по другому стоять флаги обработки исключений плавающей точки
(controlfp вроде бы называется функция).
Коду в DLL это может не понравится, если что-то вычислительное делается.
Могут вылетать "Floating point overflow" и т.п., там где с настройкой по умолчанию мат. сопроцессора в MSVC все проходит тихо.
Re[2]: MFC DLL + Win32 EXE
От: AlexGin Беларусь  
Дата: 02.03.19 19:34
Оценка:
Здравствуйте, qaz77, Вы писали:

Q>Здравствуйте, Мёртвый Даун, Вы писали:


МД>>Какая практика использования MFC DLL из обычного Win32 EXE приложения?

Q>Это называется regular MFC DLL — свой инстанс MFC у каждой такой библиотеки.
Q>По аналогии со static или DLL CRT.
Q>Аналог DLL CRT называется MFC Extension DLL.

+100500
Совершенно верно!
Вот подробное описание:
https://www.codeguru.com/cpp/cpp/cpp_mfc/tutorials/article.php/c4017/MFC-DLL-TUTORIAL-PART-1.htm
https://www.codeguru.com/cpp/cpp/cpp_mfc/tutorials/article.php/c4019/MFC-DLL-TUTORIAL-PART-2.htm
https://www.codeguru.com/cpp/cpp/cpp_mfc/tutorials/article.php/c4023/MFC-DLL-TUTORIAL-PART-3.htm
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.