Для чего
используются пакеты
Как мы уже говорили выше,
пакеты разработки предназначены для упрощения задачи распределения и установки
компонентов, созданных разработчиком. Программирование с помощью пакетов разработки,
по определению, имеет некоторое преимущество по сравнению с обычным программированием.
Главное преимущество — сокращение размера кода. Например, все ваши приложения,
включая среду программирования Kylix, могут одновременно использовать стандартные
компоненты Kylix, расположенные в одном и том же пакете. Так как приложения
не содержат отдельные копии библиотек компонентов, их размер намного меньше.
Более того, время компиляции пакетов намного меньше, т. к. для конкретного приложения
компилируется тот код, который ему необходим.
Для того чтобы приложение
использовало пакеты, необходимо установить флажок Build with runtime package
в диалоговом окне Project Options на странице Packages. Для открытия
этого диалогового окна используйте пункт главного меню Kylix Project/Options.
При такой компиляции приложения оно значительно сократится в размерах (примерно
в 8—10 раз), но вам придется при распространении приложения передавать и все
применяемые им пакеты.
Рассмотрим, когда нужно
использовать пакеты, а когда — стандартные библиотеки разделяемых объектов Linux:
С файлами пакетов связаны
следующие расширения (табл. 20.1):
Таблица
20.1. Типы файлов пакетов
Расширение файла |
Содержание файла |
dpk |
Исходный файл пакета,
содержащий список модулей данного пакета. Он создается при запуске редактора
пакета (по своему назначению и функциональности похож на файл проекта
Kylix .dpr) |
dcp |
Двоичный файл,
содержащий заголовок пакета и описание всех файлов dcp пакета, включая
всю символьную информацию, которая требуется для компилятора. Всего
один файл данного типа создается для одного пакета |
dpu |
Двоичный файл,
содержащий текст модуля, находящийся в пакете. Для каждого модуля создается
один файл dpu |
so |
Файл пакета, используемого
во время работы приложения. Этот файл является аналогом библиотеки разделяемых
объектов (so) Linux, которая содержит специфичные характеристики среды
Kylix. Если это пакет времени выполнения, то вы должны передавать данный
пакет пользователю вместе с файлом приложения. В случае, если это пакет
разработки, он должен распространяться среди программистов, использующих
его для написания приложений |