Библиотеки — это группа файлов с предварительно созданными функциями, которые могут использоваться любым исполняемым файлом. Библиотеки содержат внутри переменные и функции, а также определенные типы файлов, которые мы можем импортировать или включать в нашу программу. Эти файлы могут содержать спецификации различных функций, уже встроенных и готовых к использованию, и эта функция облегчает жизнь программистам, поверьте мне.
Зачем использовать библиотеки
Библиотека C — это группа объектных файлов, упакованных в один единственный файл, используемый, опять же, как отдельный элемент на этапе компоновки программы. Помните, что в процессе компиляции gcc для исходной программы C фаза компоновки является последним шагом, выполняемым компоновщиком, принимающим входные объектные файлы и библиотеки для создания окончательной исполняемой программы.
Библиотеки имеют два преимущества по сравнению с файловыми разделами на диске: меньше файлов и индексация для них, что позволяет значительно ускорить процесс компоновки, что важно учитывать.
Как работают библиотеки
В C есть два типа библиотек: статические и динамические библиотеки, и на этот раз мы сосредоточимся на статических библиотеках.
Статические библиотеки
Ключевой особенностью статической библиотеки является то, что вам нужна ее копия для создания исполняемого файла в процессе компоновки. Этот файл .exe будет работать в других системах без каких-либо дополнительных файлов.
Как создавать статические библиотеки
Мы собираемся выполнить шаги, необходимые для создания и изменения статической библиотеки.
- Создайте несколько программ функций C
Создайте несколько программ .c, скажем, add.c и mul.c.
2. Скомпилируйте программы и получите объектные файлы
Использование gcc с опцией -c создаст соответствующие файлы .o
Теперь у нас есть файлы .c и .o.
3. Создайте статическую библиотеку программы C с помощью программы ar
Сделаем перерыв и подумаем. Статические библиотеки создаются программой под названием «ar» (аббревиатура от «архиватора»), которая может манипулировать ими несколькими способами: создавать, редактировать, изменять…
Следующее, что нужно сделать, это создать статическую библиотеку с помощью команды ar, мы назовем ее «libarith.a» с файлами объектов add и mul.
В последней команде флаг «c» указывает ar создать библиотеку, если она еще не существует. Флаг «r» указывает ему заменить старые объектные файлы в библиотеке новым объектным файлом.
4. Используйте команду ranlib для индексации статических библиотек
Некоторые системы не используют «ar» в качестве архиватора, и программы, создающие библиотеки, также заботятся об индексировании. Программа «ar» и «ranlib» работают вместе, и мы будем продолжать в том же духе.
Как использовать библиотеку C в программе
Мы только что создали нашу библиотеку libarith.a, теперь мы будем ее использовать. На данный момент осталось только две вещи: заголовочный файл и основная программа.
Скомпилируйте нашу основную программу для генерации и объекта:
Параметр -L указывает компилятору искать файлы библиотек в текущем каталоге.
И, наконец, протестируйте основной исполняемый файл
Библиография
· Набор инструментов Linux-программиста, Джон Фуско.
· https://www.sitesbay.com/cprogramming/c-compile-link-program