Unterschied zwischen DLL und LIB

Unterschied zwischen DLL und LIB

Dll vs lib

Eine Bibliothek ist eine Sammlung von Ressourcen, die zur Entwicklung von Anwendungen verwendet werden können. Eine Bibliothek besteht normalerweise aus Unterprogramme, Funktionen, Klassen, Werten und Typen. Während des Verknüpfungsprozesses (normalerweise von einem Linker), beziehen sich Bibliotheken und ausführbare Ausführungsfähigkeiten aufeinander. Bibliotheksdateien sind in statische und dynamische Bibliotheken unterteilt, abhängig von der Zeit, zu der die Unterprogramme in die Zielanwendung geladen werden. Dementsprechend sind LIB -Dateien statisch verknüpfte Bibliotheken und DLL -Dateien sind dynamisch verknüpfte Bibliotheken.

Was ist DLL?

Die dynamische Linkbibliothek (allgemein bekannt als DLL) ist eine von Microsoft entwickelte gemeinsame Bibliotheksimplementierung. Es verwendet das .DLL, .ocx oder .DRV -Erweiterungen und sie werden in Microsoft Windows- und OS/2 -Betriebssystemen verwendet. DLL wird von den regulären DLL -Dateien verwendet. Und .Die OCX -Erweiterung wird von Bibliotheken verwendet, die ActiveX -Steuerelemente enthalten und .Die DRV -Erweiterung wird von Legacy -System -Treiberdateien verwendet. Das DLL-Dateiformat entspricht den Windows EXE-Dateien (portable ausführbare Dateien unter 32-Bit/64-Bit-Windows und neu ausführbare Dateien unter 16-Bit-Windows). Daher kann jede Kombination aus Code, Daten und Ressourcen in DLL -Dateien enthalten sein (genau wie in EXE -Dateien). Tatsächlich werden Datendateien mit dem DLL -Dateiformat als Ressourcen -DLLs bezeichnet. Symbolbibliotheken (mit .ICL -Erweiterung) und Schriftdateien (mit .fon und .FOT -Erweiterungen) sind Beispiele für Ressourcen -DLLs.

Komponenten, die als Abschnitte bezeichnet werden, bilden eine DLL und jeder Abschnitt verfügt. Codeabschnitte sind ausführbar, während Datenabschnitte nicht ausführbar sind. Die Codeabschnitte werden gemeinsam genutzt und Datenabschnitte privat sind. Das bedeutet, dass alle Prozesse, die die DLL verwenden. Die primäre dynamische Bibliothek für Windows ist Kernel32.DLL, das die Basisfunktionen (Datei- und Speicherfunktionalität) unter Windows enthält. COM (Komponentenobjektmodell) ist die Erweiterung von DLL auf OOP (objektorientierte Programmierung). Herkömmliche DLLs sind einfacher zu verwenden als COM -Dateien.

Was ist lib?

LIB -Dateien sind statische Bibliotheken (auch als statisch verknüpfte Bibliotheken bezeichnet). LIB -Dateien enthalten eine Sammlung von Unterroutinen, externen Funktionen und Variablen. LIB-Dateien werden zur Kompilierungszeit aufgelöst (im Gegensatz zur Laufzeit). Der Code wird tatsächlich in die Zielanwendung kopiert. Ein Compiler, Linker oder ein Ordner erledigt diese Auflösung und erstellt eine Objektdatei und eine ausführbare Datei. Dieser Prozess wird als statischer Erstellungsprozess bezeichnet.

Was ist der Unterschied zwischen DLL und LIB?

Lib-Bibliotheken können während der Kompilierungszeit aufgerufen werden, aber DLL-Bibliotheken können nur während der Laufzeit aufgerufen werden. LIB -Dateien sind deutlich größer als DLL -Dateien. Ein sehr häufiges Problem mit DLL -Dateien ist das Versioning -Problem. Dies geschieht, wenn der Code der DLL geändert wird und die Anwendung eine falsche Version einer DLL verwendet. Dies ist kein Problem, das mit LIB -Dateien verbunden ist. In Bezug auf die Wiederverwendbarkeit sind DLLs beim Schreiben neuer Versionen von Systemen oder völlig neuen Anwendungen immer besser als LIBS.