Cree el archivo .so desde el archivo .c usando la línea de comando gcc

 C Programming >> Programación C >  >> Tags >> GCC
Cree el archivo .so desde el archivo .c usando la línea de comando gcc


Estoy tratando de crear un proyecto hello world para bibliotecas dinámicas de Linux (archivos .so). Así que tengo un archivo hola.c:


#include <stdio.h>
void hello()
{
printf("Hello world!\n");
}

¿Cómo creo un archivo .so que exporta hello()? , usando gcc desde la línea de comando?


Respuestas:


Para generar una biblioteca compartida, primero debe compilar su código C con el -fPIC (código independiente de la posición) bandera.


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

EDITAR :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 recibir todas las advertencias, y -g para obtener información de depuración, a su gcc comandos – Basile Starynkevitch