next up previous contents index
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.

Die folgenden Schritte sind notwendig, um das Programm ohne Verwendung einer Bibliothek zu übersetzen und zu linken.

\begin{CD}
\left.
\begin{CD}\textit{student.cc} @>\texttt{g++ -c student.cc}>>...
...}
\end{CD} \right\}
@>\texttt{g++ Ex752.o student.o}>> \textit{a.out}
\end{CD}

Abkürzend ist auch möglich:

\begin{CD}
\textit{Ex752.cc, student.cc} @>\texttt{g++ Ex752.cc student.cc}>> \textit{a.out}
\end{CD}

Bei Verwendung der Biobliothek libstud.a sieht der Ablauf folgendermaßen aus

\begin{CD}
\left.
\begin{CD}\textit{student.cc} @>\texttt{g++ -c }>\texttt{stu...
...}
@>\texttt{g++ Ex752.o}>\texttt{ -L. -l}\textbf{stud}> \textit{a.out}
\end{CD}

was bei bereits vorhandener Bibliothek wiederum abgekürzt werden kann:

\begin{CD}
\textit{Ex752.cc, }\textit{lib}\textbf{stud}\textit{.a}
@>\texttt{g++ Ex752.cc -L. -l}\textbf{stud}>> \textit{a.out}
\end{CD}


next up previous contents index
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