Динамическая библиотека в программировании — файл, содержащий машинный код. 1 Загружается в память процесса загрузчиком программ операционной системы либо при создании процесса, либо по запросу уже работающего процесса, то есть динамически. 1
Обычно они имеют расширение *.dll в Windows, *.so в UNIX, *.dylib в macOS. 2
Преимущества использования динамических библиотек:
- Экономия памяти за счёт использования одной библиотеки несколькими процессами. 1 Если одну и ту же библиотеку использует несколько приложений, в оперативной памяти может храниться только один её экземпляр, доступный этим приложениям. 4
- Возможность исправления ошибок (достаточно заменить файл библиотеки и перезапустить работающие программы) без изменения кода основной программы. 1
В зависимости от назначения различают:
- Библиотеки, используемые одной программой и содержащие критические для работы программы функции. 1
- Библиотеки, используемые одной программой и содержащие дополнительные функции. 1 Например, библиотеки плагинов используются для расширения функционала программы. 1
- Библиотеки общего пользования. 1 Содержат функции, используемые несколькими программами. 1 Могут загружаться в адресное пространство ОС для экономии памяти: одна копия библиотеки будет использоваться несколькими процессами. 1