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

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

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

В некоторых языках программирования[каких?] то же, что модуль, в некоторых — несколько модулей. С точки зрения операционной системы (ОС) и прикладного ПО библиотеки разделяются на динамические и статические.

Термин «библиотека подпрограмм» по всей видимости одними из первых упомянули Уилкс М., Уиллер Д., Гилл С. в качестве одной из форм организации вычислений на компьютере[1][2]. Исходя из изложенного в их книге под библиотекой понимался набор «коротких, заранее заготовленных программ для отдельных, часто встречающихся (стандартных) вычислительных операций»[3].

Содержание

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

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

Динамические библиотеки хранятся обычно в определенном месте и имеют стандартное расширение. Например, файлы .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



Wikimedia Foundation. 2010.

Игры ⚽ Нужно сделать НИР?

Полезное


Смотреть что такое "Библиотека (программирование)" в других словарях:

  • Библиотека Boost — Boost Тип библиотека (программирование) Написана на С++ ОС Кроссплатформенный Версия Boost 1.39.0 02.05.2009 …   Википедия

  • Библиотека (значения) — Библиотека: В Викисловаре есть статья «библиотека» Библиотека  собрание книг, произведений печати и письменности, а также помещение, где они хранятся. Электронная библиотека  упорядоченная коллекция разнородных электронных документов (в …   Википедия

  • Библиотека времени исполнения — У этого термина существуют и другие значения, см. библиотека (значения). Библиотека времени исполнения (также библиотека времени выполнения; англ. runtime library, RTL)  набор библиотек (модулей) той или иной системы программирования,… …   Википедия

  • Библиотека функций (программирование) — Библиотека (в программировании, от англ. library) сборник подпрограмм или объектов для решения близких по тематике задач. В некоторых языках то же, что модуль, в некоторых несколько модулей. С точки зрения ОС и прикладного ПО библиотеки… …   Википедия

  • Библиотека (компьютеры) — Библиотека (в программировании, от англ. library) сборник подпрограмм или объектов для решения близких по тематике задач. В некоторых языках то же, что модуль, в некоторых несколько модулей. С точки зрения ОС и прикладного ПО библиотеки… …   Википедия

  • Библиотека (компьютер) — Библиотека (в программировании, от англ. library) сборник подпрограмм или объектов для решения близких по тематике задач. В некоторых языках то же, что модуль, в некоторых несколько модулей. С точки зрения ОС и прикладного ПО библиотеки… …   Википедия

  • Программирование — Эта статья должна быть полностью переписана. На странице обсуждения могут быть пояснения. У этого термина существуют и другие значения, см. Программи …   Википедия

  • Библиотека подпрограмм —         набор заранее составленных для ЦВМ звеньев программы, предназначенных для использования в качестве целых частей при составлении новых программ (см. Подпрограмма). Б. п., на подпрограммы которой наложены жёсткие условия, унифицирующие… …   Большая советская энциклопедия

  • Boost (библиотека) — Boost Тип библиотека (программирование) Написана на С++ Операционная система Кроссплатформенный Последняя версия Boo …   Википедия

  • Динамическая библиотека — Библиотека (в программировании, от англ. library) сборник подпрограмм или объектов для решения близких по тематике задач. В некоторых языках то же, что модуль, в некоторых несколько модулей. С точки зрения ОС и прикладного ПО библиотеки… …   Википедия


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»