Estoy tratando de crear un proyecto 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 se exporta hello()
, usando gcc desde la línea de comandos?
c
linux
gcc
shared-libraries
sashoalm
fuente
fuente
gcc -shared -o libhello.so -fPIC hello.c
hacerlo en un solo paso.-Wall
para obtener todas las advertencias y-g
obtener información de depuración de susgcc
comandos..o
archivo @sashoalm es básicamente un archivo objeto para el archivo fuente, antes de vincularlos, en el ejecutable final. Entonces, cuando ejecutagcc -o abc.c abc.o
un archivo de objeto, se generaría. Resp. Entonces puede usar esteabc.o
archivo para crear un.so
archivo. Para crear tantos archivos, todo lo que necesita es un código c correcto escrito en un.c
archivo. PD: Solo por aclarar tu duda en el comentario.