Ich versuche ein Hallo-Welt-Projekt für dynamische Linux-Bibliotheken (.so-Dateien) zu erstellen. Also habe ich eine Datei hello.c:
#include <stdio.h>
void hello()
{
printf("Hello world!\n");
}
Wie erstelle ich eine .so-Datei hello()
, die mit gcc über die Befehlszeile exportiert wird?
c
linux
gcc
shared-libraries
Sashoalm
quelle
quelle
gcc -shared -o libhello.so -fPIC hello.c
um es in einem Schritt zu tun.-Wall
, um alle Warnungen und-g
Debugging-Informationen zu erhaltengcc
..o
Datei ist im Grunde eine Objektdatei für die Quelldatei, bevor sie miteinander in die endgültige ausführbare Datei verknüpft werden. Wenn Sie alsogcc -o abc.c abc.o
eine Objektdatei ausführen, wird diese generiert. Ans dann können Sie dieseabc.o
Datei verwenden, um eine.so
Datei zu erstellen . Um so viele Dateien zu erstellen, benötigen Sie lediglich einen korrekten c-Code, der in eine.c
Datei geschrieben ist. PS: Nur um Ihre Zweifel im Kommentar auszuräumen.