Что такое статическая библиотека?
Статические библиотеки — это уже существующий код, который скомпилирован и готов к использованию, например, если вы работаете над большим проектом и у вас есть несколько персонализированных функций. вы можете создать библиотеку со всеми ними и использовать их в разных проектах.

Почему мы должны использовать статические библиотеки?
Если мы создадим статическую библиотеку, мы сможем разместить все функции, которые будем использовать, в одном месте, это сэкономит ваше время и сделать ваш код более организованным.

Как создать статическую библиотеку?
Прежде всего, нам нужно использовать GCC (GNU Compiler Collection) для компиляции функций, которые у нас есть, в объектный режим, чтобы выполнить процесс, который мы можем разместить следующий код в оболочке.

gcc -c *.c

То есть скомпилировать в объекты (.o) все функции, которые у нас заканчиваются на «.c».
Теперь для создания библиотеки нам нужно использовать инструмент «ar» (архиватор) с флагами «- rc», это создаст и заменит старые файлы там, где это необходимо.

ar -rc имя библиотеки.a *.o

Это добавит все объектные файлы в библиотеку, которую мы создаем.
Чтобы завершить процесс, нам просто нужно использовать команду «ranlib» для индексации нашей библиотеки.

ranlib nameoflib.a

Чтобы использовать статическую библиотеку, нам нужно добавить имя библиотеки в процесс компиляции и компоновки нашего основного файла, поскольку мы используем GCC, нам нужно добавить два флага, -L, который используется, сообщает компоновщику, что библиотеку можно найти в текущем каталоге и -l перед именем нашей библиотеки, чтобы связать библиотеку с нашим файлом.

gcc main.c -L. -lnameoflib -o выходимя_файла

Вот и все, теперь вы можете запустить свой основной файл.