SelfLinux » Überblick über Linux » Bibliotheken » Teil 5 SelfLinux-0.8.0
« zurück Unterschiede/Gemeinsamkeiten zwischen Windows und Linux »
SelfLinux logo
OrdnerBibliotheken Revision: 1.1.2.6
Autor: Steffen Dettmer
Layout: Torsten Hemm
Lizenz: GFDL

7 Werkzeuge

Es folgen nur Kurzbeschreibungen einiger Werkzeuge, die speziell auf die Arbeit mit Bibliotheken zugeschnitten sind.


7.1 ld-linux.so

Der Programmlader oder Dynamische Linker wurde oben bereits beschrieben. Er ist dafür zuständig, die von einem Programm benötigten Bibliotheken zu laden und zu binden.



7.2 ldconfig

Dieses ebenfalls bereits oben beschriebene Werkzeug erstellt das Cachefile für den Programmlader. ldconfig ist statisch gebunden.



7.3 ldd

Dieses Werkzeug zeigt an, ob und welche gemeinsam benutzbaren Bibliotheken ein Programm verwendet. Es gibt die Abhängigkeiten dieser aus. ldd ist statisch gebunden.

Mit ldd kann man sich anzeigen lassen, welche Bibliotheken in welchen Versionen ein Programm verwendet. Dabei verwenden fast alle Programme mindestens den Programmlader /lib/ld-linux.so.2 und die Lib-C /lib/libc.so.6. Komplexe Programme verwenden oft 10 und mehr Bibliotheken (z.B. xterm). Mit ldd kann man erkennen, ob ein Programm direkt gegen Versionen gelinkt ist, oder ob es überhaupt dynamisch gebunden wird. Das Kommando ldd /lib/ld-linux.so.2" sagt beispielsweise statically linked (statisch gelinkt) und ldd /sbin/ldconfig not a dynamic executable. ldd zeigt auch, welche Bibliotheken von Bibliotheken verwendet werden, so ist zum Beispiel die Mathematikbibliothek /lib/libm.so.6 gegen libc.so.6 gelinkt.



7.4 nm

nm zeigt die Symbole, also Funktionen und Variablen, an, die eine Bibliothek nach außen hin verwendet. Das sind zum einem die Symbole, die eine Bibliothek bereitstellt (exportierte Funktionen) und zum anderen die, die sie verwendet (importiert). nm -u zeigt die Symbole an, die eine Bibliothek benötigt, und nm -g die, die exportiert werden. Dies kann man sich gut am Beispiel libm.so anschauen. nm -u /lib/libm.so.6 zeigt beispielsweise, dass libm die Standardfehlerausgabe "stderr" aus der libc verwendet und nm -g /lib/libm.so.6 zeigt, das eine Funktion "tan" bereitgestellt wird (die den Tangens berechnet).




8 Literatur

Details zu den Programmen finden sich in den entsprechenden Manpages. Die Manpage zu ld-linux.so heißt unter Umständen kurz ld.so.

David A. Wheeler schrieb das Program Library HOWTO, das von Christoph Schönfeld ins Deutsche übersetzt wurde. Dieses beschreibt Bibliotheken aus Entwicklersicht und zeigt, wie man Bibliotheken erstellt (siehe auch http://www.dwheeler.com/program-library/)


« zurück Unterschiede/Gemeinsamkeiten zwischen Windows und Linux »
Inhalt