Динамически загружаемые библиотеки: структура, архитектура и применение (часть 2). И. А. Семёнов

Динамически загружаемые библиотеки: структура, архитектура и применение (часть 2)

Год выпуска: 2008

Автор произведения: И. А. Семёнов

Серия: Прикладная информатика. Научные статьи

Жанр: Прочая образовательная литература

Издательство: НОУ «МФПУ «Синергия»

isbn:

Краткое описание:

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