Linker, Loader und ausführbare Formate

Was lässt sich unter Linux erkennen, wenn der Befehl ldd auf eine ausführbare Datei angewendet wird?

  1. ADie Shared Libraries, die diese ausführbare Datei benötigt, und die Orte, an denen sie jeweils gefunden werden
  2. BDer Quellcode dieser ausführbaren Datei
  3. CDie von dieser ausführbaren Datei verbrauchte CPU-Zeit
Antwort und Erläuterung anzeigen

Antwort: A. Die Shared Libraries, die diese ausführbare Datei benötigt, und die Orte, an denen sie jeweils gefunden werden

ldd zeigt die Liste der Shared Libraries, die dynamisch gelinkte ausführbare Dateien oder Shared Libraries verwenden, und zu welchen Dateien sie jeweils aufgelöst werden. Nicht gefundene werden als „not found“ angezeigt, was bei der Suche nach der Ursache eines nicht startenden Programms hilft. Bei nicht vertrauenswürdigen ausführbaren Dateien ist Vorsicht geboten, da dabei unter Umständen der enthaltene Code ausgeführt wird.

Dieses Thema üben Zur Themenseite

Weitere Fragen zu Linker, Loader und ausführbare Formate

  1. Welche Kombination der von den wichtigsten Betriebssystemen verwendeten Formate ausführbarer Dateien ist richtig?
  2. Was geschieht unter Linux u. a. im Allgemeinen, wenn eine zu tiefe Rekursion die Obergrenze des Stacks überschreitet?
  3. Welche Aussage zu den Werten lokaler und globaler Variablen ohne Initialwert zu Beginn ihrer Verwendung in C ist richtig?
  4. Wie heißt das Phänomen, dass sich nach wiederholtem malloc und free zwar insgesamt genug freier Speicher findet, aber ein großer zusammenhängender Bereich nicht mehr reserviert werden kann?
  5. Welcher Vorteil ergibt sich, wenn man beim Erstellen einer Shared Library nur die von außen genutzten Funktionen veröffentlicht und die Sichtbarkeit (Visibility) der Symbole interner Funktionen auf „hidden“ setzt?

Vergleiche zu diesem Thema