C++ C++ C# C# ASP.NET Security ASP.NET Security ASM ASM Скачать Скачать Поиск Поиск Хостинг Хостинг  
  Программа для работы с LPT портом...
Язык: .NET — ©Alexey...
  "ASP.NET Atlas" – AJAX в исполнении Micro...
Язык: .NET — ©legigor@mail.ru...
  "Невытесняющая" Многопоточность...
Язык: C/C++ — ©...
  01.05.2010 — Update World C++: Сборник GPL QT исходников
  15.12.2007 — Весь сайт целиком можно загрузить по ссылкам из раздела Скачать
Хостинг:
Windows 2003, ASP.NET 2.0
бесплатный и от 80 руб./мес


   Отправить письмо
Кулабухов Артем, Беларусь




 214 - Версии и типы DLL MFC / MFC шаг за шагом / Visual C++

Шаг 214 - Версии и типы DLL MFC

Этот раздел может быть и не Важен, если Вы разрабатываете приложения для себя, но вот если Вы собираетесь его распространять неплохо бы иметь некоторые знания по данному вопросу. В любом случае инсталляцию надо представлять как будто она производится на пустой компьютер с Windows. Так что давайте выясним некоторые подробности. Первое, написанный Вами код не будет включать все, что необходимо вашей программе, особенно если вы пользуетесь Dinamic Link. MFC появилась не вчера и у нее есть тоже версии. Весь код MFC находится в DLL и эти файлы имеют имена типа MFCxx.DLL. Ну, например:

......
MFC30.DLL
MFC40.DLL
......

Соотвественно Вам неплохо бы знать какую Версию Вы используете для компиляции, и при этом такая же DLL должна быть в системе. На данный момент MFCxx.DLL является частью системы Windows. Слишком много программного обеспечения используют их для работы. Например, в поставке Windows 95 есть такие библиотеки:

Win95_02.cab
mfc30.dll          322,832  07-11-1995  9:50:00a
mfcd30.dll          55,808  07-11-1995  9:50:00a
mfcn30.dll          15,872  07-11-1995  9:50:00a
mfco30.dll         133,392  07-11-1995  9:50:00a
Win95_03.cab
mfcans32.dll       133,904  07-11-1995  9:50:00a

Debug версии отличаются от версий Release наличием буковки . А вот это немного опаснее. Так как, если Вы скомпилировали отладочную версию, то надеяться на то, что в системе уже есть такие библиотеки точно не стоит. Вот пример соответствия.

Release				Debug
MFCxx.DLL 			MFCxxD.DLL 
MFCNxx.DLL 			MFCNxxD.DLL 

Соотвественно DLL имеющие отношений к UNICODE тоже будут иметь свою буковку U. Все остальное по правилам. Вот смотрите.

           Unicode   Unicode Debug
MFCxx.DLL MFCxxU.DLL  MFCxxUD.DLL 

Естественно, что MFC по причине своего размера разбита на части в виде отдельных DLL:

MFCxx.ВLL	Основная
MFCOxx.DLL 	OLE
MFCDxx.DLL  Базы данных
MFCNxx.DLL  Сеть

Основной модуль MFC может быть выполнен в виде static или dinamic компоновки. Они тоже отличаются по букве S.

Динамическая компоновка		Статическая компоновка
MFCxx.LIB 			MFCSxx.LIB 

Есть и отдельные заплатки, например, библиотека MFCANS32.DLL занимается конвертацией UNICODE-MBCS. Но это специфичная библиотека.

Все библиотеки MFCxx.DLL используют <>MSVCRTxx.DLL, то есть она тоже должна обязательно быть установлена. Эта библиотека используется для распределения памяти. Кстати она и не идет в поставке Windows 95, поэтому Вы должны позаботиться о ее наличии.


| |
Автор Каев Артем.
[AD]