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