Estou tentando criar um projeto hello world para bibliotecas dinâmicas do Linux (arquivos .so). Então, eu tenho um arquivo hello.c:
#include <stdio.h>
void hello()
{
printf("Hello world!\n");
}
Como crio um arquivo .so que exporta hello()
usando o gcc na linha de comando?
c
linux
gcc
shared-libraries
sashoalm
fonte
fonte
gcc -shared -o libhello.so -fPIC hello.c
para fazê-lo em uma etapa.-Wall
para obter todos os avisos e-g
obter informações de depuração aos seusgcc
comandos..o
arquivo @sashoalm é basicamente um arquivo de objeto para o arquivo de origem, antes de vinculá-los, no executável final. Então, quando você executagcc -o abc.c abc.o
um arquivo de objeto, será gerado. Resp, então você pode usar esseabc.o
arquivo para criar um.so
arquivo. Para criar tantos arquivos, tudo o que você precisa é de um código c correto, escrito em um.c
arquivo. PS: Apenas para esclarecer sua dúvida no comentário.