2013-03-07 13 views
5

Was ist der Unterschied zwischen einer DLL- und einer LIB-Datei? Was befindet sich in einer DLL-Datei und was befindet sich in einer LIB-Datei? Sind DLL- und LIB-Dateien erforderlich, um eine ausführbare Datei zu erstellen?DLL- und LIB-Dateien

Antwort

7

Eine DLL-Datei ist das endgültige Build-Produkt, das Sie auf dem Computer Ihres Kunden installieren. Es ist sehr ähnlich zu einer EXE-Datei, gleiche Struktur, kann aber bei Bedarf in ein anderes Programm geladen werden.

Eine LIB-Datei wird verwendet, um Ihr Programm zu erstellen, es existiert nur auf Ihrer Build-Maschine und Sie versenden es nicht. Es gibt zwei Arten. Eine statische Link-Bibliothek ist eine Sammlung von OBJ-Dateien, die in einer einzigen Datei zusammengefasst sind. Der Linker wählt alle Codeabschnitte aus der Datei aus, wenn eine externe Kennung aufgelöst werden muss.

Aber relevanter für DLLs kann eine LIB-Datei auch eine Importbibliothek sein. Es ist dann eine einfache kleine Datei, die den Namen der DLL und eine Liste aller von der DLL exportierten Funktionen enthält. Sie müssen es dem Linker bereitstellen, wenn Sie ein Programm erstellen, das die DLL verwendet, damit es weiß, dass eine externe Kennung tatsächlich eine von der DLL exportierte Funktion ist. Der Linker verwendet die Importbibliothek, um der Importtabelle für die EXE Einträge hinzuzufügen. Diese wird wiederum von Windows zur Laufzeit verwendet, um herauszufinden, welche DLLs zum Ausführen des Programms geladen werden müssen.