Запуск Dll Содержит MFC Class на другом компьютере C ++ - PullRequest
0 голосов
/ 08 июня 2011

Я сделал нормальную dll (не dll MFC), и я использую там класс CImage (MFC), и он прекрасно работает. Прежде всего, у меня нет большого опыта работы с dll, поэтому мне интересно, как работает моя dll, если я не использовал опцию «MFC Dll», и в чем разница между этими двумя опциями.

Мой второй вопрос, если тот факт, что я использую класс CImage (MFC), может создавать проблемы, если я запускаю свою dll на некоторых других компьютерах с операционной системой Windows, или не будет проблем с ее запуском на каждом компьютере с операцией Windows система

Я думаю, что если я использую класс CImage, размер моей dll будет расти из-за добавляемых дополнительных классов (кстати, он добавляет все классы MFC или только один класс CImage?) и поэтому я не ретранслирую на компьютере, который запускает мою DLL, но я совсем не уверен.

Спасибо за время и помощь!

1 Ответ

1 голос
/ 08 июня 2011

MFC DLL - это в большей степени мастер DLL, который устанавливает для вас некоторый шаблонный код, если вы собираетесь следовать рекомендациям по использованию инфраструктуры MFC.Нет необходимости использовать MFC.Вы по-прежнему можете создавать свой собственный код и использовать его по своему усмотрению.

Что касается переносимости между компьютерами MFC, он прозрачен при статической ссылке на MFC (настройка по умолчанию в сборке выпуска), но вы должны убедиться, чточто соответствующая библиотека MFC dll присутствует на целевом компьютере, если вы динамически связываетесь с MFC (сборка отладки).

Хотя MFC представляет собой довольно большую структуру с ее хорошими и плохими сторонами, использующими отдельные функции, это не так.Это обычная практика, и, возможно, вам следует рассмотреть другое решение, например http://openil.sourceforge.net, для обработки изображений без нагрузки на фреймворк.

...