Hallo Martin,
ich hatte ursprünglich geschrieben:
Wenn man aber eine Linkerbibiliothek (die hat unter Windows üblicherweise die Endung .lib) hat, die (mindestens) die in der .DLL enthaltenen Routinen als Objektmodule enthält, kann man die .lib in die Parameterliste des Linkers aufnehmen. Der holt sich dann nur diejenigen Module heraus, die vom jeweiligen Programm tatsächlich benötigt werden und bindet sie statisch dazu.
Das bezieht sich auf den statischen Bindeprozeß mit einer .lib-Datei.
Deine Antwort scheint dazu nicht zu passen:
Korrekt. Der eigentliche Programmcode bleibt aber in der DLL, deshalb ist diese nachher für die Programmausführung notwendig. Denn der Linker erzeugt nur einen "stub" für jede Funktion in der DLL, quasi eine Art Referenz. Er kann nicht den tatsächlichen Programmcode aus der DLL nehmen und in das erzeugte Programm einbauen.
Das beschreibt die Vorbereitungen des Linkers für die dynamische Bindung zur Laufzeit der erzeugten Codedatei - nicht die statische Bindung, denn die benötigt zur Laufzeit eben gerade keine .DLL.
Vielleicht hat mein Einschub in der Klammer, gefolgt vom Nebensatz zu einem Parserstackoverflow geführt... Im zweiten Satz könnte der Bezug als Folgefehler verloren gegangen sein...
Gruß,
Houyhnhnm