Библиотеки DLL
Обновлен: Ноябрь 2007
Библиотека динамической компоновки (DLL) является исполняемым файлом, который выполняет функции общей библиотеки. Динамическая компоновка представляет способ вызова функции, который не является частью исполняемого кода. Исполняемый код функции расположен в библиотеке DLL, которая содержит несколько компилированных, связанных и отдельно сохраненных функций в используемых процессах. Библиотеки DLL часто упрощают процесс общего доступа к данным и источникам. Многочисленные приложения могут иметь одновременный доступ к нескольким содержаниям одной копии DLL в памяти.
Динамическая компоновка отличается от статической компоновки тем, что позволяет исполняемым модулям (таким как файл .dll или .exe) включать только необходимую информацию в среду выполнения и размещать исполняемый код в функции DLL. В статической компоновке компоновщик получает все указанные функции из библиотеки и размещает код в исполняемой среде.
Динамическая компоновка имеет некоторые преимущества над статической. Библиотеки DLL сохраняются в памяти, уменьшают количество обменов, занимают небольшой объем места на диске, упрощают процесс обновления, предоставляют вторичную поддержку, а также обеспечивают механизмом для расширения классов библиотеки MFC, поддерживают многоязыковые программы и упрощают создание международных версий.
В следующем разделе представлена подробная информация о программировании библиотек DLL.
В этом разделе
Различия между приложениями и библиотеками DLL
Различия между приложениями и библиотеками DLL.Преимущества использования библиотек DLL
Преимущества динамической компоновки.Вопросы и ответы по библиотекам DLL
Ответы на часто задаваемые вопросы о библиотеках DLL.Связывание исполняемого файла с библиотекой DLL
Описание явного и неявного соединения с библиотекой DLL.Инициализация библиотеки DLL
Процесс инициализации кода (такой как распределение памяти) в DLL, необходимый для выполнения загрузки библиотеки DLL.Поведение библиотеки времени выполнения
Выполнение библиотекой времени выполнения функции запускаемой последовательности DLL.Функции LoadLibrary и AfxLoadLibrary
Использование функций LoadLibrary и AfxLoadLibrary в explicitly-соединении с DLL.Функция GetProcAddress
Использование GetProcAddress для получения адреса экспортированной функции в DLL.Функции FreeLibrary и AfxFreeLibrary
Использование FreeLibrary и AfxFreeLibrary, без необходимости применения модуля DLL.Путь поиска, используемый Windows для размещения библиотеки DLL
Описание пути поиска, в котором операционная система Windows использует расположение DLL в системе.Состояние модулей регулярной динамической библиотеки DLL, связанной с MFC
Состояние модулей регулярной динамической библиотеки DLL, связанной с MFC.Расширение библиотек DLL
Наличие библиотек DLL, которые обычно реализуют классы многократного использования в существующих библиотеках классов Microsoft Foundation Class.Создание библиотек DLL, содержащих только ресурсы
Библиотека DLL, содержащая только ресурсы, например значки, растровые изображения, строки и диалоговые окна.Локализация ресурсов в приложениях MFC: библиотеки DLL спутниковой связи
Расширенная поддержка библиотек спутниковой связи DLL и содержит функцию, которая позволяет создавать приложения, локализированные на различные языки.Импортирование и экспортирование
Импортирование открытых символов в приложение или экспортирование функций из библиотеки DLLТехнология Active и библиотеки DLL
Размещение сервера объектов внутри библиотеки DLL.Автоматизация в библиотеке DLL
Параметр автоматизации в решениях мастера библиотек DLL MFC.Соглашения об именовании библиотек DLL MFC
Способ встраивания библиотек DLL в MFC, опираясь на четко структурированное соглашение об именовании.Вызов функций библиотек DLL из приложений Visual Basic
Способ вызова функций DLL из приложений Visual Basic.
Связанные разделы
Использование MFC как часть библиотеки DLL
Постоянные библиотеки DLL, которые позволяют использовать библиотеку MFC как часть библиотеки динамической компоновки в Windows.Версия библиотеки DLL MFC
Механизм использования библиотек динамической компоновки MFCxx.dll и MFCxxD.dll (где x является номером версии MFC) с приложениями MFC и расширениями библиотек DLL.Общая методика программирования
Ссылки на разделы, содержащие теоретические сведения о библиотеках Visual C++, а также описание различных технологий и методик программирования.