Почему мы используем библиотеки?
Библиотеки в программировании содержат данные конфигурации, документацию, справочные данные, шаблоны сообщений, предварительно написанный код и подпрограммы, классы, значения или спецификации типов. Мы используем это, чтобы разделить все эти вещи по отдельности, вместо того, чтобы хранить их все в одном месте.
Как они работают?
Когда вы компилируете и запускаете библиотеку, параметр -c заставляет компилятор создавать объектный файл для библиотеки. Объектный файл содержит машинный код библиотеки. Который при добавлении на github превращается в бинарный файл, который легче читать компьютеру.
Как создавать библиотеки? (ТОЛЬКО ЛИНУКС)
- gcc -fPIC -c *.c
Эта команда позволяет вам создать динамическую библиотеку. -fPIC делает его общей библиотекой, -c превращает все файлы .c в объектные файлы (.o), а *.c выбирает все файлы .c в вашем текущем каталоге.
2. gcc -shared -o liball.so *.o
Теперь, когда у вас есть все файлы .o, все готово к компиляции. Эта команда компилирует его с использованием флага -shared. Вы должны добавить имя библиотеки, чтобы компьютер знал, что он компилирует (.so для динамического и .a для статического).
Создание статической библиотеки почти такое же, только немного другое, давайте поговорим об этом.
- Сначала создайте файлы с расширением .c, а затем измените их на объектные файлы (.o) с помощью команды
ar -rcs libexample.a *.o
- это превратит все ваши файлы .c в объектные файлы
- вам нужно будет скомпилировать такие файлы
gcc -o main main.o -L. -llib
- это говорит компьютеру искать «llib»
Как только вы это сделаете, вы создали статическую библиотеку!