Я пытаюсь создать проект hello world для динамических библиотек Linux (файлы .so). Итак, у меня есть файл hello.c:
#include <stdio.h>
void hello()
{
printf("Hello world!\n");
}
Как мне создать .so файл, который экспортирует hello()
, используя gcc из командной строки?
c
linux
gcc
shared-libraries
sashoalm
источник
источник
gcc -shared -o libhello.so -fPIC hello.c
сделать это за один шаг.-Wall
чтобы получать все предупреждения и-g
получать отладочную информацию, к вашимgcc
командам..o
Файл @sashoalm - это, по сути, объектный файл для исходного файла, прежде чем связать их вместе в конечный исполняемый файл. Поэтому при запускеgcc -o abc.c abc.o
объектный файл будет сгенерирован. Затем вы можете использовать этотabc.o
файл для создания.so
файла. Для создания такого количества файлов все, что вам нужно, это правильный код c, написанный в.c
файле. PS: Просто для устранения ваших сомнений в комментарии.