Эту страницу предлагается объединить со страницей Разделяемая библиотека. Пояснение причин и обсуждение — на странице Википедия:К объединению/12 января 2020. Обсуждение длится не менее недели (подробнее). Не удаляйте шаблон до подведения итога обсуждения. |
Библиоте́ка (от англ. library) в программировании — сборник подпрограмм или объектов, используемых для разработки программного обеспечения (ПО).
В некоторых языках программирования (например, в Python) то же, что и модуль, в некоторых — несколько модулей. С точки зрения операционной системы (ОС) и прикладного ПО, библиотеки разделяются на динамические и статические.
Термин «библиотека подпрограмм», по всей видимости, одними из первых упомянули Уилкс М., Уиллер Д., Гилл С. в качестве одной из форм организации вычислений на компьютере[1][2]. Исходя из изложенного в их книге, под библиотекой понимался набор «коротких, заранее заготовленных программ для отдельных, часто встречающихся (стандартных) вычислительных операций»[3].
Динамическая библиотека — файл, содержащий машинный . Загружается в память процесса загрузчиком программ операционной системы либо при создании процесса, либо по запросу уже работающего процесса, то есть динамически.[4]
Расширение | ОС | Расшифровка | Примечание |
---|---|---|---|
so |
UNIX | англ. shared object | |
dylib |
Mac OS | англ. dynamic library | |
library |
AmigaOS | Хранятся в логическом томе Libs: | |
dll |
Microsoft Windows, OS/2 | англ. dynamic link library |
В зависимости от назначения различают:
При написании программы программисту достаточно указать транслятору (компилятору или интерпретатору) путь к библиотеке и имя функции. Ни исходный текст функции, ни её исполняемый в состав программы не войдут.
Достоинства:
Недостатки:
Статическая библиотека — объектный файл в виде файла (нередко может быть поставлен вместе с исходным ом), из которого выборочно или полностью вставляется в программу на этапе компоновки.
Библиотеки, распространяемые в виде исходного а, преобразуются транслятором в объектные файлы. Затем компоновщик[6] соединяет объектный из объектных файлов библиотек и объектные файлы вашей программы в один исполняемый файл.
Например, в исходных текстах распространяются:
Библиотеки, распространяемые в виде объектных файлов, уже готовы к компоновке. Компоновщик выполняет соединение объектных файлов библиотек и объектных файлов вашей программы во время создания исполняемого файла.
Расширения объектных файлов статических библиотек в разных ОС.
Расширение | ОС |
---|---|
«a » |
UNIX |
«lib » |
Microsoft Windows |
Стандартные библиотеки многих компилируемых языков программирования (Fortran, Pascal, C, C++ и других) распространяются в виде объектных файлов.
Достоинства:
Недостатки:
Библиотека — файл, содержащий либо на интерпретируемом языке, либо байт- для виртуальной машины.
Например, библиотеки для языка Python могут распространяться либо в виде файлов с исходным ом (расширение «py
»), либо в виде файлов с байт-ом[7] (расширение «pyc
», буква «c» от англ. compiled). Одной из библиотек для языка Python является Tkinter.[8]
Николай Джосьютис. C++ Стандартная библиотека. Для профессионалов = The C++ Standart Library. A Tutorial and Reference. — СПб.: Питер, 2004. — 730 с. — ISBN 5-94723-635-4.
Для улучшения этой статьи желательно:
|