Книга: Программирование для Linux. Профессиональный подход
2.3.5. Преимущества и недостатки библиотек
2.3.5. Преимущества и недостатки библиотек
Познакомившись со статическими архивами и совместно используемыми библиотеками. читатели, очевидно, задумались: какие же из них лучше использовать? Есть несколько важных моментов, о которых следует помнить.
Большим преимуществом совместно используемой библиотеки является то. что она экономит место на диске при инсталляции программы. Когда устанавливаются десять программ и все они работают с одной и той же библиотекой, экономия может оказаться весьма существенной, тогда как статический архив будет включен во все десять программ. Уменьшается также время загрузки, если программа загружается из Internet.
С этим связано еще одно преимущество совместно используемых библиотек: пользователи могут обновлять библиотеки, не затрагивая связанные с ними программы. Предположим, к примеру, что была создана библиотека, содержащая функции управления HTTP- соединениями. Потенциально с ней может работать множество программ. Если впоследствии в библиотеке обнаружится ошибка, достаточно будет просто заменить ее файл, и все программы, использующие данную библиотеку, немедленно обновятся. Не придется выполнять перекомпоновку всех программ, как в случае статического архива.
Описанные преимущества могут заставить читателей подумать, будто статические архивы бесполезны. Но их существование обусловлено вескими причинами. Тот факт, что обновление совместно используемой библиотеки отражается на всех связанных с нею программах, может на самом деле оказаться недостатком. Некоторые программы тесно связаны с используемыми библиотеками и не должны зависеть от произвольных изменений в системе.
Если библиотеки не должны инсталлироваться в каталог /lib
или /usr/lib
, нужно дважды подумать, стоит ли их делать совместно используемыми. (Библиотеки нельзя помещать в указанные каталоги, если предполагается, что программу будут инсталлировать пользователи, не имеющие привилегий системного администратора.) В частности, прием с флагом -Wl,-rpath
не будет работать, поскольку не известно, где именно окажутся библиотеки. А просить пользователей устанавливать переменную LD_LIBRARY_PATH
— не выход из положения, так как это означает для них выполнение дополнительного (для некоторых — не самого тривиального) действия.
Оценивать преимущества и недостатки двух типов библиотек нужно для каждой создаваемой программы отдельно.
- 2.3. Создание и использование библиотек
- 8.6. Работа с совместно используемыми библиотеками
- Недостатки MVC Framework
- Достоинства и недостатки потоков
- 1.3.3. Достоинства и недостатки анонимных прокси-серверов
- Рост и преимущества прямого маркетинга
- 4.3 Преимущества Fibre Channel
- Просмотр библиотек документов
- Создание библиотек
- Создание библиотек документов
- Создание библиотек форм
- Создание библиотек рисунков