Linker, Loader und ausführbare Formate
Was bindet der Linker in die ausführbare Datei ein, wenn er mit einer statischen Bibliothek (.a-Datei) linkt?
- AAlle Objektdateien in der Bibliothek
- BNur den Dateinamen der Bibliothek, aber keinen Code
- CNur diejenigen Objektdateien der Bibliothek, die zur Auflösung undefinierter Referenzen benötigt werden
Antwort und Erläuterung anzeigen
Antwort: C. Nur diejenigen Objektdateien der Bibliothek, die zur Auflösung undefinierter Referenzen benötigt werden
Eine statische Bibliothek ist ein Archiv, das viele Objektdateien zusammenfasst. Der Linker entnimmt dem Archiv nur die Objektdateien, die Symbole definieren, für die noch keine Definition gefunden wurde, und bindet sie ein. Selbst bei einer Bibliothek mit vielen Funktionen wie der Standardbibliothek wird die ausführbare Datei daher nur um den Anteil der verwendeten Funktionen größer.