Встроенные функции иногда группируются и помещаются в файл с именем library, это определение библиотеки C.
Почему вам следует использовать библиотеки на C?
Статические библиотеки полезны, когда речь идет о максимальной производительности, и позволяют пользователю получить доступ к набору функций, которые получают предопределенный вывод, вместо написания собственного кода.
Как работают библиотеки?
Все библиотеки C объявлены в заголовке файла, библиотека сохраняется как libame.h
, затем этот файл должен быть включен в начало вашей программы C, например #include <libname.h>
, это позволяет нам получить доступ к функциям внутри библиотеки.
Как создать статическую библиотеку на C?
Прежде чем начать, вы должны скомпилировать все ваши файлы .c
в объектные файлы, вы можете использовать следующую команду:
gcc -c *.c
Основная команда для создания статической библиотеки в C — это ar
, что означает «архиватор». Чтобы создать статическую библиотеку, мы можем использовать следующую команду:
ar rc libname.a file1.o file2.o file3.o
Эта программа создает статическую библиотеку с именем libname.a
и включает в себя копии файлов, оканчивающихся на .o
, которые являются объектными файлами. Если файл библиотеки уже существует, он заменяется, если они новее тех, что внутри библиотеки.
Флаг c
указывает ar создать библиотеку, если она не существует. Флаг r
указывает ему заменить старые объектные файлы в библиотеке новыми.
Далее библиотеку следует проиндексировать с помощью команды randlib
следующим образом:
randlib libname.h
randlib
также используется для повторного создания индекса.
Как использовать статические библиотеки?
После того, как библиотека будет создана, в конечном итоге мы захотим ее использовать, для этого нам нужно добавить имя библиотеки в список объектных файлов, переданных компоновщику. Вот пример использования специального флага, такого как -l
:
cc main.o -L -lname -o prog
Обратите внимание на использование флага -L
, этот флаг сообщает компоновщику, что библиотеки могут быть найдены в текущем каталоге.
Надеюсь, вам понравилась эта статья, пожалуйста, поделитесь ею и поставьте мне сердечки и аплодисменты! Спасибо. ;)