ВУЗ:
Составители:
Рубрика:
В случае динамического импорта при вызове LoadLibrary можно указать
для DLL полный путь, тогда
Windows просмотрит только заданный каталог.
При статическом импорте такой возможности нет.
Основной недостаток DLL – это отсутствие проверки типов. Обращаясь к
функции, фактически даём указание компилятору вызвать функцию, о которой
он ничего не знает. Если будет указано неверное количество параметров или
параметры будут неверных типов, то вызов функции может привести к
непредсказуемым последствиям. Найти подобную ошибку очень сложно.
Изучение DLL предусматривает рассмотрение двух вопросов: создание
библиотеки и её использование.
Структура DLL
По своей сути DLL похожи на модули, но их код больше напоминает
программы. По функциональному назначению и модуль и DLL представляют
собой библиотеки подпрограмм, но организованы они по-разному.
Динамические библиотеки – это особая разновидность программ,
предоставляющих код или данные другим программам. DLL имеет
обязательный заголовок, который начинается со служебного слова
library.
Процедуры и функции записываются так же, как принято в программах, но
их необходимо явным образом экспортировать, чтобы они стали доступны
другим программам или динамическим библиотекам. Для этого вводится
секция
exports, в которой перечисляются экспортируемые библиотекой
процедуры и функции. В качестве разделителя при перечислении используется
запятая, завершается секция
exports точкой с запятой. В DLL может быть
несколько секций
exports. Обязательно включается секция инициализации,
которая, однако, может быть пустой. Шаблон DLL приведён ниже.
library MyDll;
uses //Перечень подключаемых модулей
{Опис
exports //Перечень экспортируемых процедур и функций
ания процедур и функций}
begin
{Секция инициализации}
end.
154
В случае динамического импорта при вызове LoadLibrary можно указать
для DLL полный путь, тогда Windows просмотрит только заданный каталог.
При статическом импорте такой возможности нет.
Основной недостаток DLL – это отсутствие проверки типов. Обращаясь к
функции, фактически даём указание компилятору вызвать функцию, о которой
он ничего не знает. Если будет указано неверное количество параметров или
параметры будут неверных типов, то вызов функции может привести к
непредсказуемым последствиям. Найти подобную ошибку очень сложно.
Изучение DLL предусматривает рассмотрение двух вопросов: создание
библиотеки и её использование.
Структура DLL
По своей сути DLL похожи на модули, но их код больше напоминает
программы. По функциональному назначению и модуль и DLL представляют
собой библиотеки подпрограмм, но организованы они по-разному.
Динамические библиотеки – это особая разновидность программ,
предоставляющих код или данные другим программам. DLL имеет
обязательный заголовок, который начинается со служебного слова library.
Процедуры и функции записываются так же, как принято в программах, но
их необходимо явным образом экспортировать, чтобы они стали доступны
другим программам или динамическим библиотекам. Для этого вводится
секция exports, в которой перечисляются экспортируемые библиотекой
процедуры и функции. В качестве разделителя при перечислении используется
запятая, завершается секция exports точкой с запятой. В DLL может быть
несколько секций exports. Обязательно включается секция инициализации,
которая, однако, может быть пустой. Шаблон DLL приведён ниже.
library MyDll;
uses //Перечень подключаемых модулей
{Описания процедур и функций}
exports //Перечень экспортируемых процедур и функций
begin
{Секция инициализации}
end.
154
Страницы
- « первая
- ‹ предыдущая
- …
- 152
- 153
- 154
- 155
- 156
- …
- следующая ›
- последняя »
