compilar - gcc linux
Construya el archivo.so del archivo.c usando la lĂnea de comando gcc (1)
Intento crear un proyecto de hello world para bibliotecas dinámicas de Linux (archivos .so). Entonces tengo un archivo hello.c:
#include <stdio.h>
void hello()
{
printf("Hello world!/n");
}
¿Cómo creo un archivo .so que exporte hello()
, usando gcc desde la línea de comando?
Para generar una biblioteca compartida, primero debe compilar su código C con el -fPIC
(código de posición independiente).
gcc -c -fPIC hello.c -o hello.o
Esto generará un archivo de objeto (.o), ahora lo toma y crea el archivo .so:
gcc hello.o -shared -o libhello.so
EDIT : sugerencias de los comentarios:
Puedes usar
gcc -shared -o libhello.so -fPIC hello.c
para hacerlo en un solo paso. - Jonathan Leffler
También sugiero agregar -Wall
para obtener todas las advertencias, y -g
para obtener información de depuración, a sus comandos gcc
. - Basile Starynkevitch