Динамически загружаемые библиотеки: структура, архитектура и применение (часть 2) - И. А. Семёнов
Автор: | И. А. Семёнов |
Издательство: | НОУ «МФПУ «Синергия» |
Серия: | Прикладная информатика. Научные статьи |
Жанр произведения: | Прочая образовательная литература |
Год издания: | 2008 |
isbn: |
С формальной точки зрения Dynamic Link Library (DLL) (динамически загружаемая библиотека) – особым образом оформленный относительно независимый блок исполняемого кода. DLL используются множеством приложений. Все приложения для ОС Windows так или иначе используют динамические библиотеки. Исполняемый код в DLL не предполагает автономного использования. Перед тем как приступить к использованию, необходимо загрузить DLL в область памяти вызывающего процесса (т.е. DLL не может выполняться сама по себе – ей обязательно нужен клиент). Это явление называется «проецирование DLL на адресное пространство процесса». Это и понятно, так как процессор работает не только с регистрами, но и с адресами памяти. Поэтому каждому объекту DLL требуется своё место «под солнцем», чтобы иметь возможность быть выполненным при вызове. В конечном коде exe-файла, который генерирует компилятор, не будет инструкций процессора, соответствующих коду данной функции. Вместо этого будет сгенерирована инструкция вызова соответствующей функции (call).