Odpowiedzi:
Aby wygenerować bibliotekę współdzieloną, musisz najpierw skompilować swój kod C z -fPICflagą (kod niezależny od pozycji).
gcc -c -fPIC hello.c -o hello.o
Spowoduje to wygenerowanie pliku obiektowego (.o), teraz bierzesz go i tworzysz plik .so:
gcc hello.o -shared -o libhello.so
EDYCJA : Sugestie z komentarzy:
Możesz użyć
gcc -shared -o libhello.so -fPIC hello.c
zrobić to w jednym kroku. - Jonathan Leffler
Proponuję również dodać, -Wallaby uzyskać wszystkie ostrzeżenia i -guzyskać informacje o debugowaniu, do gccpoleceń. - Basile Starynkevitch
gcc -shared -o libhello.so -fPIC hello.czrobić to w jednym kroku.
-Wallaby uzyskać wszystkie ostrzeżenia i -guzyskać informacje o debugowaniu, do gccpoleceń.
.oPlik @sashoalm jest w zasadzie plikiem obiektowym dla pliku źródłowego, przed połączeniem ich razem w ostateczny plik wykonywalny. Więc po uruchomieniu gcc -o abc.c abc.ozostanie wygenerowany plik obiektowy. W takim razie możesz użyć tego abc.opliku do utworzenia .sopliku. Do stworzenia tak wielu plików potrzebujesz tylko poprawnego kodu c zapisanego w .cpliku. PS: Tylko za wyjaśnienie wątpliwości w komentarzu.