ejecutar compilar compilador como c linux shared-libraries

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