О библиотечных пакетах

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

Зачем? Ответить легко.

Все программы, вне зависимости от их назначения, неизбежно должны выполнять некоторые однотипные действия, как то: открыть файл, закрыть его, вывести на экран его содержимое, и так далее. Сущность таких действий не меняется, что бы программа ни делала. И потому нет никакого смысла программировать такие манипуляции каждый раз заново.

Вот их, как правило, и не программируют, поддаваясь смертному греху ленности. А объединяют соответствующие директивы в отдельные программные комплексы, именуемые библиотеками. Сами по себе они к автономному исполнению не пригодны. Однако любая программа, при необходимости совершить одно из типовых действий, вызывает из такой библиотеки некий фрагмент кода, содержащий требуемую последовательность директив.

Библиотеки обычно привязаны к определённым языкам программирования, синтаксису которого подчиняются описания директив, так называемых функции. Поскольку наиболее употребимым в UNIX-системах и их приложениях является язык C, то его функции и требуются чаще всего. Они собираются в главную системную библиотеку  (Library C). Её реализация,  используемая в подавляющем большинстве дистрибутивов Linux (в частности, в Fedora), именуется glibc (GNU Library C).

Кроме glibc , при создании пользовательских интерфейсов используются библиотеки свойств терминала (например, ncurces) для консольных программ и библиотеки, описывающие процедуры отрисовки окон и управления ими — для графических программ системы X, библиотеки интерфейсных элементов менеджеров окон и интегрированных сред (в частности, Gtk -- для среды GNOME и её приложений, о чём будет говориться на следующей странице), библиотеки описания графических и мультимедийных форматов файлов и тому подобные “сборники”.

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


Главная
Содержание

. .