Nächste Seite: 7.6 Das Hauptprogramm
Aufwärts: 7.5 Deklarationen und Headerfiles,
Vorherige Seite: 7.5.2 Beispiel: student
Inhalt
Index
7.5.3 Eine einfache Bibliothek am Beispiel student
Um sich das wiederholte compilieren zusätzlicher Quelltextfiles
und die damit verbundenen u.U. langen Listen von Objektfiles
beim Linken zu ersparen, verwendet man Bibliotheken.
Gleichzeitig haben Bibliotheken den Vorteil, daß man seine
compilierten Funktionen (zusammen mit den Headerfiles) anderen in kompakter
Form zur Verfügung stellen kann, ohne daß
man seine Programmiergeheimnisse (geistiges Eigentum) verraten muß.
Dies sei an Hand des (sehr einfachen) Beispiels aus §7.5.2
demonstriert.
- Erzeugen des Objektfiles student.o (compilieren)
LINUX> g++ -c student.cc
- Erzeugen/Aktualisieren der Bibliothek libstud.a
(archivieren) aus/mit dem Objektfile student.o.
Der Bibliotheksbezeichner stud ist frei wählbar.
LINUX> ar r libstud.a student.o
Die Archivierungsoptionen (hier, nur r
) können mit
dem verwendeten Compiler variieren.
- Compilieren des Hauptprogrammes (siehe Ex752.cc)
und
linken mit der Bibliothek aus dem aktuellen Verzeichnis
LINUX> g++ Ex752.cc -L. -lstud
Die folgenden Schritte sind notwendig, um das Programm ohne
Verwendung einer Bibliothek zu übersetzen und zu linken.
Abkürzend ist auch möglich:
Bei Verwendung der Biobliothek libstud.a sieht der
Ablauf folgendermaßen aus
was bei bereits vorhandener Bibliothek wiederum abgekürzt werden kann:
Nächste Seite: 7.6 Das Hauptprogramm
Aufwärts: 7.5 Deklarationen und Headerfiles,
Vorherige Seite: 7.5.2 Beispiel: student
Inhalt
Index
Gundolf Haase
2004-01-15