Теоретические сведения по C++ для студентов курса “Программирование на основе классов и шабллонов” кафедры ИУ5 МГТУ им. Н.Э. Баумана.

Содержание

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

Библиотека — это набор кода для повторного использования в разных программах. Обычно библиотека C++ состоит из:

Библиотеки компилируются заранее, чтобы экономить время и защищать исходный код.

Существуют два типа библиотек: статические и динамические.

Статическая библиотека

Статическая библиотека подключается к программе во время компиляции и становится частью исполняемого файла.
Расширения: .lib (Windows), .a (Linux).

Плюсы:

Минусы:

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

Динамическая библиотека загружается во время выполнения и остаётся отдельным файлом.
Расширения: .dll (Windows), .so (Linux).

Плюсы:

Минусы:

Для упрощения работы с динамическими библиотеками используются библиотеки импорта, которые позволяют работать с ними почти так же, как со статическими.

Библиотеки импорта

Библиотека импорта — это вспомогательная библиотека, которая упрощает использование динамической библиотеки.

В Windows библиотека импорта обычно имеет расширение .lib и связана с динамической библиотекой .dll. Она подключается к программе во время компиляции, а при запуске приложения автоматически загружается соответствующая динамическая библиотека.

В Linux файл .so одновременно выполняет роль динамической библиотеки и библиотеки импорта.

Назначение библиотеки импорта:

Установка и использование библиотек

Использование библиотеки в C++ обычно включает 4 основных шага:

  1. Получить библиотеку Желательно скачать готовую (скомпилированную) версию для вашей ОС. В Linux — через менеджеры пакетов, в Windows библиотеки часто распространяются как ZIP-архивы.

  2. Установить библиотеку В Linux установка обычно выполняется через менеджер пакетов. В Windows библиотеку чаще всего просто распаковывают в отдельную папку (например, C:\Libs).

  3. Указать компилятору путь к заголовочным файлам Обычно это каталог include библиотеки. В Linux он часто уже находится в стандартном пути поиска.

  4. Указать компоновщику путь к файлам библиотеки Обычно это каталог lib. В Linux стандартный путь — /usr/lib.

Использование библиотеки в проекте

Для каждого проекта необходимо:

  1. Указать файлы библиотек для компоновки Требуется для статических библиотек и библиотек импорта.

  2. Подключить заголовочные файлы Это сообщает компилятору о доступных функциях библиотеки.

  3. Обеспечить доступ к динамическим библиотекам В Linux — через стандартные пути или переменную LD_LIBRARY_PATH. В Windows — проще всего разместить .dll рядом с исполняемым файлом.