Библиотека (программирование)

Материал из Seo Wiki - Поисковая Оптимизация и Программирование
Перейти к навигацииПерейти к поиску

Библиотека (в программировании, от англ. library) — сборник подпрограмм или объектов, используемых для разработки программного обеспечения.

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

С точки зрения ОС и прикладного ПО библиотеки разделяются на: динамические и статические.

Динамические библиотеки

Часть основной программы, которая загружается ОС по запросу работающей программы в ходе ее выполнения (Run-time), т.е. динамически (Dynamic Link Library, DLL в Windows). Один и тот-же набор функций (подпрограмм) может быть использован сразу в нескольких работающих программах, из-за чего они имеют еще одно название - библиотеки общего пользования (Shared Library). Если динамическая библиотека загружена в адресное пространство самой ОС (System Library), то единственная копия может быть использована множеством работающих с нею программ, что положительно сказывается на использовании ресурса ОЗУ. Динамические библиотеки могут содержать в себе как критические для работы программы части, так и дополнительные функции. Дополнительным плюсом такого подхода является то, что динамическая библиотека может быть использована в качестве плагина (Plug-ins), расширяющего функциональность программы.

Динамические библиотеки хранятся обычно в определенном месте и имеют стандартное расширение. Например, файлы .library в логическом томе Libs: в AmigaOS; в Microsoft Windows и OS/2 файлы библиотек общего пользования имеют расширение .dll; в UNIX‐подобных ОС — обычно .so; в MacOS — .dylib.

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

Статические библиотеки

Могут быть в виде исходного текста, подключаемого программистом к своей программе на этапе написания (например, для языка Fortran существует огромное количество библиотек для решения разных задач именно в исходных текстах), либо в виде объектных файлов, присоединяемых (линкуемых) к исполняемой программе на этапе компиляции (в Microsoft Windows такие файлы имеют расширение .lib, в UNIX‐подобных ОС — обычно .a). В результате программа включает в себя все необходимые функции, что делает её автономной, но увеличивает размер. Без статических библиотек объектных модулей( файлов ) невозможно использование большинства современных компилирующих языков и систем программирования: Fortran, Pascal, C, C++ и других.

См. также