Главная » Win32 API » ДИНАМИЧЕСКИЕ БИБЛИОТЕКИ Общие сведения

0

Библиотеки динамической компоновки (dynamic link libraries -DLL) являются исполняемыми файлами особого формата, которые содержат функции, данные или ресурсы, доступные для других приложений.

Особый формат модулей DLL предполагает наличие в них разделов импорта и экспорта. Раздел экспорта указывает те идентификаторы объектов (функций, классов, переменных), доступ к которым разрешен для клиентов.

Подавляющее большинство DLL (за исключением DLL, содержа­щих только ресурсы) импортирует функции из системных DLL -kernel32.dll, user32.dll, gdi32.dll и других библиотек.

Применение DLL может дать ряд преимуществ:

•           Расширение функциональности приложения. DLL можно за­гружать в адресное пространство процесса на этапе выполнения, что позволит программе, определив, какие действия от нее требуются, подгружать нужный код.

•           Более простое управление проектом. Использование DLL уп­рощает отладку, тестирование и сопровождение проекта.

•           Экономия памяти. Если одну и ту же DLL используют не­сколько приложений, то в оперативной памяти хранится только один ее экземпляр, доступный этим приложениям.

•           Разделение ресурсов. DLL могут содержать такие ресурсы, как строки, растровые изображения, шаблоны диалоговых окон. Этими ре­сурсами может воспользоваться любое приложение.

•           Возможность использования разных языков программирова­ния.

Исполняемый код в DLL не предполагает автономного использова­ния. Содержимое каждого DLL-файла загружается приложением и проецируется на адресное пространство вызывающего процесса. Это достигается либо за счет неявного связывания при загрузке, либо за счет явного связывания в период выполнения.

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

Источник: Сучкова, Л.И. Win32 API: основы программирования: учебное пособие/ Л.И. Сучкова; АлтГТУ им. ИИ. Ползунова. -Барнаул, АлтГТУ, 2010. 138 с, ил.

По теме:

  • Комментарии