Was genau ist eine statische Bibliothek (static library)?

...komplette Frage anzeigen

1 Antwort

Eine statische Bibliothek ist eine Bibliothek (Sammlung von Programmmodulen), die zur Kompilierungszeit eingebunden (und erforderlichenfalls übersetzt) werden.

Im Gegensatz dazu wird bei einer dynamischen Bibliothek lediglich ein Verweis/Link einkomplilert und die Bibliothek selbst erst zur Laufzeit geladen.

(Eine kurze Erklärung der wichtigsten Unterschiede habe ich hier gefunden: http://www.strcat.de/eigenes/developments/dyn.html)

Headerdateien (die die enthaltenen Funktionen deklarieren) musst du in beiden Fällen einbinden - irgendwoher muss der Compiler ja wissen, wie diese Funktionen aufzurufen sind. (Statt der Headerdateien kann man im Prinzip auch auf die Bibliothek selbst verweisen, falls diese die Deklarationen ebenfalls im Klartext enthält. Bringt aber keinen Vorteil.)

(Ich weiß zu schätzen, dass Microsoft Visual Studio sich im Fall von C# um diese Header-Deklarationen im Hintergrund kümmert und ich sie während der normalen Arbeit am Quellcode nicht zu sehen bekomme.)

Was möchtest Du wissen?