232 votes

Construire .donc, fichier de .c fichier à l'aide de gcc en ligne de commande

Je suis en train de créer un hello world projet pour Linux bibliothèques dynamiques (.donc les fichiers). J'ai donc un fichier hello.c:

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

Comment puis-je créer un .si le fichier que les exportations hello(), à l'aide de gcc en ligne de commande?

416voto

dreamcrash Points 8227

Pour générer une bibliothèque partagée, vous devez compiler votre code C avec l' -fPIC (code indépendant de la position) du pavillon.

gcc -c -fPIC hello.c -o hello.o

Cela va générer un fichier objet (.o), maintenant, vous le prenez et créer les .si le fichier:

gcc hello.o -shared -o libhello.so

EDIT: les Suggestions de commentaires:

Vous pouvez utiliser

gcc -shared -o libhello.so -fPIC hello.c

pour le faire en une seule étape. – Jonathan Leffler

Je suggère également d'ajouter -Wall pour obtenir toutes les mises en garde, et -g pour obtenir des informations de débogage, à votre gcc des commandes. – Basile Starynkevitch

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X