У паняцця ёсць і іншыя значэнні, гл. Бібліятэка, значэнні.
**Бібліятэка** (ад англ.: library) у праграмаванні — зборнік падпраграм ці аб’ектаў, якія прымяняюцца для распрацоўкі праграмнага забеспячэння (ПЗ).

У некаторых мовах праграмавання (напрыклад, у Python) тое ж, што і модуль, у некаторых — некалькі модуляў. З пункту гледжання аперацыйнай сістэмы (АС) і прыкладнога ПЗ бібліятэкі падзяляюцца на дынамічныя і статычныя.

Тэрмін «бібліятэка падпраграм» адным з першых згадалі Морыс Вінсэнт Уілкс, Уіллер Д. Гілл С. у якасці адной з форм арганізацыі вылічэнняў на камп’ютары. У іх кнізе бібліятэкай называўся набор «кароткіх, загадзя загатаваных праграм для асобных, часта ўжываных (стандартных) вылічальных аперацый».

Дынамічныя бібліятэкі
---------------------

Частка асноўнай праграмы, якая загружаецца у АС па запыце працуючай праграмы ў час яе выканання, то бок дынамічна (Dynamic Link Library, DLL у Windows, агульныя аб'екты (англ.: shared objects) у UNIX). Адзін і той жа набор функцый (падпраграм) можа быць выкарастаны адразу ў некалькіх працуючых праграмах, з-за чаго яны маюць яшчэ адну назву — *бібліятэкі агульнага карыстання* (англ.: shared library). Калі дынамічная бібліятэка загружана ў адрасную прастору самой АС (System Library), то адзіная копія можа быць выкарыстана мноствам працуючых з ёю праграм, што станоўча сказваецца на ступені ўжывання рэсурсу АЗП. Дынамічныя бібліятэкі могуць змяшчаць у сабе як крытычныя для работы праграмы часткі, так і дадатковыя функцыі. Дадатковым плюсам такога падыходу з'яўляецца тое, што дынамічная бібліятэка можны выкарыстоўваць у якасці plugin'а, які пашырае функцыйнасць праграмы. Мінусам з'яўляецца тое, што ў выпадку, калі модуль, які змяшчае ў сабе крытычную частку, адсутнічае, праграма не зможа працягнуць работу.

Дынамічныя бібліятэкі звычайна захоўваюцца ў пэўным месцы і маюць стандартнае пашырэнне. Напрыклад, файлы `.library` у лагічным томе *Libs:* у AmigaOS; у Microsoft Windows і OS/2 файлы бібліятэк агульнага карыстання маюць пашырэнне .dll; у UNIX‐падобных АС — звычайна .so; у Mac OS — .dylib.

Пры напісанні праграмы праграмісту досыць указаць транслятару (кампілятару альбо інтэрпрэтатару) мовы праграмавання, што трэбна падключыць пэўную бібліятэку і выкарыстаць функцыю з яе. Ні зыходны тэкст, ні машынны код функцыі ў склад праграмы на гэтым этапе не ўваходзіць.

Статычныя бібліятэкі
--------------------

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

Гл. таксама
-----------

* Кампаноўшчык
* Аўтазвязванне

Зноскі
------

1. ↑  *Wilkes M. V. Wheeler D. J. Gill S.* Preparation of Programs for an Electronic Digital Computer. — Addison-Wesley, 1951.
2. ↑  Уилкс М. Уиллер Д. Гилл С. «Составление программ для электронных счётных машин». Издательство иностранной литературы, 1953
3. ↑  Волченскова, Надежда Ивановна, Технология многомашинной реализации и жизнеобеспечения библиотек подпрограмм вычислительной математики на языке Фортран, автореферат к диссертации, 1984

Літаратура
----------

* *Николай Джосьютис.* C++ Стандартная библиотека. Для профессионалов = The C++ Standart Library. A Tutorial and Reference. — СПб.: Питер, 2004. — 730 с. — ISBN 5-94723-635-4.

|  |  |
| --- | --- |
| ⚙️   Слоўнікі і энцыклапедыі | Вялікая каталанская · Вялікая расійская (старая версія) · Вялікая расійская (навукова-адукацыйны партал) · Brockhaus |
| Нарматыўны кантроль | GND: 4121521-7 · LCCN: sh2008001447 · NKC: ph170667 |