Библиотека (от англ. library ) - сборник объектов или подпрограмм для решения близких по тематике задач. Библиотеки содержат первичный код и данные, вспомогательные для задействования и интеграции новых возможностей в программные решения.
Библиотека может означать то же, что модуль, или несколько модулей.
С точки зрения компьютерных наук библиотеки делятся на статические и динамические.
Статические библиотеки
Могут быть в виде исходного текста, подключаемый программистом в свою программу на этапе написания (например, для языка Fortran существует огромное количество библиотек для решения различных задач именно в исходных текстах), либо в виде объектных файлов, присоединяемых (линкуются) до исполняемой программы на этапе компиляции (в Microsoft Windows такие файлы имеют расширение. lib, в UNIX -подобных ОС - обычно. a). В результате программа включает все необходимые функции, что делает ее автономной, но увеличивает размер.
Динамические библиотеки
Также называются распределяемыми библиотеками ( англ. shared library ), или библиотеками, динамически подключаемых ( англ. Dynamic Link Library, DLL). Это отдельные файлы, которые предоставляют программе набор используемых функций для скачивания на этапе выполнения при обращении программы к ОС с заявкой на выполнение функции из библиотеки. Если необходима библиотека уже загружена в оперативную память, программа использует загруженную копию библиотеки. Такой подход позволяет сэкономить время и память, поскольку несколько программ используют одну копию библиотеки, уже загруженную в память.
Динамические библиотеки хранятся обычно в определенном месте и имеют стандартное расширение. Например, файлы. Library в логическом томе Libs: в AmigaOS; в Microsoft Windows и OS/2 загружаемые библиотеки имеют расширение. dll; в UNIX -подобных ОС - обычно .so; в MacOS - .dylib.
При написании программы программисту достаточно указать транслятору языка программирования ( компилятору или интерпретатору ), что следует подключить такую-то библиотеку и использовать такую-то функцию из указанной библиотеки. Ни первоначальный текст, ни исполняемый код функции в программу не входит.