А.В. Леденев, И.А. Семенов, В.А. Сторожевых Динамически загружаемые библиотеки: структура, архитектура и применение DLL—это сокращение от Dynamic Link Library (динамически загружаемая библио тека). <...> О Относительная независимость связана с наличием/отсутствием секции импорта у DLL (т. е. секции, в которой описываются внешние зависимости данной DLL от дру гих). <...> Подавляющее большинство DLL (за исключением, быть может, DLLресурсов) импортирует функции из системных DLL (kernel32.dll, user32.dll, gdi32.dll и проч.) <...> Перед тем как можно будет приступить к использованию, необходимо загрузить DLL в область памя ти вызывающего процесса (т.е. DLL не мо жет выполняться сама по себе—ей обяза тельно нужен клиент). <...> Это явление носит название «проецирование DLL на адресное пространство процесса». <...> Так как DLL отображена на адресное простран ство процесса, то код DLL будет легко дос тупен по вызову. <...> Как динамически лин Инструментальные средстваТехнология разработки программного обеспечения 31 куемые библиотеки, так и исполняемые мо дули приложений в Windows имеют фор мат Portable Executable (PEфайл), однако нельзя «запустить» DLLбиблиотеку на вы полнение, как обычное приложение. <...> После проецирования DLL на адресное пространство вызываю щего процесса DLL становится частью это го процесса. <...> В связи с тем, что в те времена емкости оперативной памяти и же сткого диска были значительно меньше, чем сейчас, использование DLL предостав ляло ряд преимуществ. <...> Именно тогда появились счетчики ссылок пользователей DLL—при каждом вызове функции ОС проверяет на личие загруженного в память экземпляра библиотеки. <...> Вслучае положительного отве та счетчик ссылок пользователей данной DLL увеличивается на единицу. <...> » 32 Инструментальные средстваТехнология разработки программного обеспечения Динамически загружаемые библиотеки: структура, архитектура и применение земпляр данной DLL в памяти не обнару жен, то операционная система загружает файл в память и присваивает <...>