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


На практике очень часто возникают случаи, когда требуется совместное использование какой-либо функции сразу в нескольких программах, работающих на одном компьютере. Не совсем экономично, если каждая из этих программ будет содержать одинаковый код, значит, необходим механизм для объединения общего кода в отдельных файлах (библиотеках), который позволял бы воспользоваться кодом таких функций. Такие файлы должны подгружаться динамически, в процессе работы самих программ, по мере необходимости и в зависимости от потребностей. Динамическая библиотека по своей структуре является архивом, содержащим группу объектных файлов. Использование динамических библиотек дает следующие преимущества:

  • программа занимает меньше места в оперативной памяти и на диске. Когда динамическая библиотека подключается к программе, то в исполняемом файле присутствует лишь ссылка на нее;
  • разные программы могут использовать одну и ту же библиотеку;
  • после обновления динамической библиотеки не обязательно перекомпилировать использующие ее программы, что позволяет обновлять динамические библиотеки, не затрагивая связанные с ними программы. То есть если в библиотеке будет обнаружена ошибка, то достаточно будет просто заменить файл.

Читать далее: Создание динамической библиотеки