J'essaie de créer un projet hello world pour les bibliothèques dynamiques Linux (fichiers .so). J'ai donc un fichier hello.c:
#include <stdio.h>
void hello()
{
printf("Hello world!\n");
}
Comment créer un fichier .so qui s'exporte à l' hello()
aide de gcc depuis la ligne de commande?
c
linux
gcc
shared-libraries
sashoalm
la source
la source
gcc -shared -o libhello.so -fPIC hello.c
pour le faire en une seule étape.-Wall
pour obtenir tous les avertissements et-g
pour obtenir des informations de débogage, à vosgcc
commandes..o
fichier @sashoalm est essentiellement un fichier objet pour le fichier source, avant de les lier ensemble, dans l'exécutable final. Ainsi, lorsque vous exécutezgcc -o abc.c abc.o
un fichier objet serait généré. Ans, vous pouvez utiliser ceabc.o
fichier pour créer un.so
fichier. Pour créer autant de fichiers, tout ce dont vous avez besoin est un code C correct écrit dans un.c
fichier. PS: Juste pour dissiper votre doute dans le commentaire.