Библиотеки dll

Библиотеки dll

Библиотеки dll (dynamically linked libraries):

* содержат группу взаимосвязанных подпрограмм

* находятся в откомпилированном файле

* предназначены для обращения к ним из различных программ

Они находятся в файле с расширением .dll либо в текущем каталоге приложения (локальные), либо в системном каталоге (глобальные библиотеки). Глобальными библиотеками могут пользоваться одновременно несколько приложений.

По своему назначению библиотеки очень похожи на модули, однако, имеют ряд важных отличий.

Отличия библиотек от модулей

* При создании из модулей исполняемого файла .exe программа-линковщик помещает в него только те подпрограммы, переменные, типы и константы, которые используются (вызываются) в основной программе. При компиляции же библиотеки в нее добавляются все подпрограммы, потому что неизвестно, какие подпрограммы потребуются конкретному приложению.

* Библиотеки .dll при выполнении программы полностью загружаются в оперативную память.

* Библиотеки .dll часто используются одновременно несколькими программами.

* Библиотека .dll может быть написана и откомпилирована на одном языке, а обращаться к ней можно из программ, написанных на других языках. Например, программа на PascalABC.NET может вызывать функцию из библиотеки, созданной на языке C# и наобороот. Таким образом, библиотеки обеспечивают межъязыковое взаимодействие.

Структура библиотеки

Библиотека имеет практически ту же структуру, что и модуль:

library имя библиотеки;

interface

раздел интерфейса

implementation

раздел реализации

end.

Имя библиотеки должно совпадать с именем pas-файла, в котором библиотека находится.

Имеется также упрощенный синтаксис библиотек - без разделов интерфейса и реализации, совпадающий с упрощенным синтаксисом модулей (за исключением заголовка).

В результате компиляции библиотеки в текущем каталоге создаётся .dll-файл, содержащий откомпилированную библиотеку.

Подключение библиотеки к основной программе

Для подключения библиотеки к основной программе используется директива компилятора {$reference ИмяБиблиотеки}. Например:

{$reference ABC.dll}

{$reference ABC1.dll}

begin

writeln(a.GetType);

end.

Подключение библиотеки может проводиться в любом месте исходного файла.

Библиотеки ABC и ABC1 имеют соответственно вид:

library ABC;

var a: integer;

end.

и

library ABC1;

var a: real;

end.

Алгоритм поиска имен в библиотеках

В первую очередь имя ищется в исходном модуле, затем в модулях, подключенных в разделе uses в порядке справа налево, и только потом - в подключенных библиотеках в порядке подключения.

Согласно этому правилу в примере из предыдущего пункта переменная a будет иметь тип integer.

В случае коллизии имен используемое имя можно предварять именем библиотеки с последующей точкой:

{$reference ABC.dll}

{$reference ABC1.dll}

begin

writeln(ABC1.a.GetType);

end.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

Электронные библиотеки

Из книги Работа в Интернете автора Макарский Дмитрий

Электронные библиотеки Даже во времена Интернета книга остается ценным источником знаний. Хоть на планете уже нет «самой читающей страны в мире», тем не менее книги еще не утратили своей актуальности. Тем более если речь идет о новом их воплощении – электронных книгах, в


Известные библиотеки

Из книги Тонкости реестра Windows Vista. Трюки и эффекты автора Клименко Роман Александрович

Известные библиотеки Ветвь HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession ManagerKnownDLLs содержит список известных операционной системе библиотек (в виде параметров строкового типа, значение которых определяет название библиотеки). Известные операционной системе библиотеки всегда


Бесплатные библиотеки

Из книги КОМПАС-3D V10 на 100 % автора Кидрук Максим Иванович

Бесплатные библиотеки Перечисленные выше библиотеки и приложения – это далеко не все, с помощью чего система КОМПАС-3D облегчает жизнь инженеру. Есть еще много других утилит, которые входят в стандартную поставку или распространяются отдельно и предназначены для


Библиотеки материалов

Из книги 3ds Max 2008 для дизайна интерьеров автора Семак Рита

Библиотеки материалов После того как материал готов, его требуется сохранить. Материалы хранятся в формате Material Libraries (*mat) (Библиотека материалов). Для собственных материалов желательно создать отдельную библиотеку. Это можно сделать следующим образом.1. На панели


4.4. Библиотеки

Из книги Искусство программирования для Unix автора Реймонд Эрик Стивен

4.4. Библиотеки Одним из последствий того влияния, которое стиль Unix-программирования оказал на модульность и четко определенные API-интерфейсы, является устойчивая тенденция к разложению программ на фрагменты связующего уровня, объединяющего семейства библиотек,


Библиотеки

Из книги Основы AS/400 автора Солтис Фрэнк

Библиотеки В OS/400 библиотека — объект, который используется для поиска других объектов в базе данных. В отличие от многоуровневой иерархии каталогов в ОС ПК и Unix, библиотека OS/400 имеет одноуровневую иерархию. Для иллюстрации рассмотрим структуру имен объектов OS/400.Чтобы


Библиотеки и библиотеки

Из книги Что вы все о копирайте, лучше бы книжку почитали автора Мошков Максим

Библиотеки и библиотеки Известно, что большие собрания пополняются за счет малых. Небезынтересно узнать — на каких условиях? Наверняка ведь считается неэтичным просто скачать текст у другого библиотекаря и выложить в своей библиотеке. А как они это делают?Известно, что


Библиотеки

Из книги Основы объектно-ориентированного программирования автора Мейер Бертран

Библиотеки Один из характерных аспектов разработки ПО ОО-способом - возможность создавать его на основе существующих библиотек. ОО-среда должна обеспечивать хорошие библиотеки и механизмы создания новых


Интернет-библиотеки

Из книги Интернет для ваших родителей автора Щербина Александр

Интернет-библиотеки Однажды я попал в больницу. И если первые дни скучать мне не приходилось — было худо, то, когда я пошел на поправку, наверное, пропал бы со скуки. А выручил от скуки меня Интернет, куда умеет выходить мой продвинутый мобильник. Я накачал книжек и читал


Что содержат библиотеки?

Из книги Наглядный самоучитель работы на нетбуке автора Сенкевич Г. Е.

Что содержат библиотеки? Для удобства работы в Windows 7 предусмотрены библиотеки. Они выглядят как папки, однако, в отличие от папок, библиотеки существуют только в представлении операционной системы, объединены в системную папку Библиотеки, а в дерево дисков и папок не


1.5. Библиотеки

Из книги Первые шаги с Windows 7. Руководство для начинающих автора Колисниченко Денис Н.

1.5. Библиотеки Впервые библиотеки (виртуальные папки) появились еще в Windows Vista Beta 1, но почему-то эту функцию не включили в состав релиза Vista. В Windows 7 данная функция появилась вновь. Виртуальная папка (библиотека) объединяет несколько обычных папок, возможно, расположенных на


Библиотеки

Из книги Реестр Windows 7 автора Климов Александр Петрович

Библиотеки Библиотеки являются новинкой для операционных систем Windows. Библиотеки упрощают поиск, упорядочивание файлов, распределенных на компьютере или в сети. Библиотека объединяет содержимое в одном месте независимо от того, где оно фактически хранится. В левой


Библиотеки

Из книги Недокументированные и малоизвестные возможности Windows XP автора Клименко Роман Александрович

Библиотеки Библиотеки — это специальные файлы с расширением DLL, описывающие все функции, применяемые программой, для которой данная библиотека написана.Именно библиотеки содержат большинство функций, используемых операционной системой или программой. При этом


Библиотеки доступа

Из книги Мир InterBase. Архитектура, администрирование и разработка приложений баз данных в InterBase/FireBird/Yaffil автора Ковязин Алексей Николаевич

Библиотеки доступа В мире приложений баз данных сложилось несколько устоявшихся подходов к работе с базами данных. Для InterBase можно выделить около пяти таких подходов: это работа с базой данных через BDE (Borland Database Engine, см. глоссарий), использование ODBC, применение OLE DB (ADO),


Библиотеки

Из книги Установка, настройка и восстановление Windows 7 на 100% автора Ватаманюк Александр Иванович

Библиотеки Польза следующего нововведения явно очевидна. В Windows 7 существуют специальные папки Документы, Изображения, Музыка и Видео, с которыми пользователи работают достаточно часто. Если раньше, в Windows Vista или Windows ХР, каждая подобная папка ссылалась на одну реальную


Библиотеки dll

Из книги Описание языка PascalABC.NET автора Коллектив РуБоард

Библиотеки dll Библиотеки dll (dynamically linked libraries):* содержат группу взаимосвязанных подпрограмм* находятся в откомпилированном файле* предназначены для обращения к ним из различных программОни находятся в файле с расширением .dll либо в текущем каталоге приложения (локальные),