C-Programmierung

Bibliotheken

Beispiel zu Vererbung und Ãœberladen | | Praxisbeispiel mit JPEG

C++ für sich alleine ist ein “LKW ohne Anhänger”.

Die sog. Bibliotheken stellen die “Anhänger” von C++ dar, in dem Sinne, dass sie die Funktionalität von C++ für einen bestimmten Einsatzzweck erweiteren.

Beispiele für etablierte Bibliotheken und deren Einsatzzweck:

  • Grafikbibliotheken (OpenGL, OpenSceneGraph)
  • Benutzerinterface- bzw. GUI-Bibliotheken (Qt, Gtk+, Cocoa)
  • Verschlüsselung (OpenSSL)
  • Mustererkennung (OpenCV)
  • etc. pp.

Im Allgemeinen ist eine Bibliothek ein Archiv, in dem mehrere übersetzte Module bzw. Objektdateien mit der Endung .o gespeichert sind. Das Archiv-Format und die Tools, mit denen Bibliotheks-Archive erzeugt werden können, unterscheiden sich von Platform zu Plattform.

Unter Unix wird ein Archiv z.B. mit der Endung .a mit dem ar tool erzeugt (siehe auch hier):

ar -crs libName.a moduleA.o moduleB.o ...

Die erzeugten Bibliotheken mit der Endung .a für sog. statische Archive (oder .so für sog. shared objects) werden unter Linux standardmässig im Pfad

/usr/lib bzw. /usr/local/lib installiert.

Die dazugehörigen Header mit der Endung .h werden unter Linux standardmässig im Pfad

/usr/include bzw. /usr/local/include installiert.

Um eine bestimmte Bibliothek zu verwenden, müssen die entsprechenden Header der Bibliothek inkludiert werden und beim Linken die Archivdateien mit der -l Compiler-Option auf der Kommandozeile bekanntgemacht werden.

Im Folgenden soll das Prinzip der Nutzung von Bibliotheken anhand der JPEG Open-Source Bibliothek und der Qt Klassenbibliothek erläutert werden.

Beispiel zu Vererbung und Ãœberladen | | Praxisbeispiel mit JPEG

Options: