next up previous
Next: Verwenden von dynamischen Bibliotheken Up: Dynamische Bibliotheken Previous: Dynamische Bibliotheken

Erzeugen von dynamischen Bibliotheken

Zum Erzeugen einer dynamischen Bibliothek aus einigen Objektdateien gibt es das ld-Kommando:

ld -shared obj1.o obj2.o -o libops.so

Um eine dynamische Bibliothek aus einer statischen zu erzeugen:

ld -shared -all libname.a -o libname.so

Beispiel:
% ld -shared calc_matrix.o io_matrix.o -o libmatrix.so

Dieser Aufruf erzeugt die dynamische Matrix libmatrix.so

Falls schon eine statische Bibliothek mit dieser Funktionalität existiert, oder diese ebenfalls benötigt wird:
% ar -r libmatrix.a calc_matrix.o io_matrix.o
% ld -shared -all libmatrix.a -o libmatrix.so

Der erste Aufruf erzeugt eine statische Bibliothek libmatrix.a, der zweite verwendet diese Bibliothek, um daraus die dynamische Bibliothek libmatrix.so zu generieren.

Es wird keinen Unterschied machen, ob libmatrix.so aus der statischen Bibliothek oder direkt aus den Objektdateien erzeugt wird.



Mail to: Oliver Schönbrunner
Programmieren unter UNIX