Unterschied zwischen LIB und DLL Unterschied zwischen

Anonim

LIB vs DLL

Bei der Entwicklung von Software werden wir oft gefragt, ob wir LIB oder DLLs in Funktionen für die Anwendung verwenden möchten. LIB ist eine statische Bibliothek, in der Funktionen und Prozeduren platziert und aufgerufen werden können, während die Anwendung kompiliert wird. Eine DLL oder Dynamic Link Library hat die gleiche Funktion, ist aber dynamisch in dem Sinne, dass die Anwendung diese Bibliotheken während der Laufzeit und nicht während der Kompilierung aufrufen kann. Dies bietet einige signifikante Vorteile gegenüber der Verwendung von LIB.

Für den Anfang würden Sie eine einzelne Datei haben, die erheblich größer ist, da sie den gesamten Code enthält, während Sie bei der Verwendung von DLL mehrere kleinere Dateien hätten. Das Kompilieren Ihrer Funktionen und Prozeduren würde Ihnen auch eine größere Wiederverwendbarkeit ermöglichen, sobald Sie mit den Funktionen der DLL zufrieden sind, da Sie sie mit jeder Version der Anwendung behalten können und nicht damit herumhantieren müssen. Sie können dieselbe DLL auch verwenden, wenn Sie eine andere Anwendung erstellen möchten, die dieselben Funktionen und Verfahren verwendet. Sie können direkt mit der DLL verknüpfen, anstatt den Code aus der Quelle zu kopieren, wie Sie es mit LIB tun müssten.

Ein Problem mit DLL ist, wenn Sie den Inhalt der DLL ändern. Dies kann zu Versionierungsproblemen führen, wenn eine Anwendung die falsche Version der DLL verwendet, die Probleme verursacht. Sie müssen Ihre DLLs verfolgen, um diese Probleme zu vermeiden. Sie hätten dieses Problem mit LIB nicht, da Sie nur eine große Datei erhalten würden.

Wenn Sie die Software entwickeln und DLL auswählen, haben Sie immer noch eine LIB-Datei in Ihrem Projekt. Aber im Gegensatz zur Verwendung von LIB enthält diese Datei nicht den Code der Funktionen und Prozeduren, sondern nur Stubs, die das Programm benötigt, um die Prozeduren aus den DLLs aufzurufen.

Zusammenfassung:

1. Eine DLL ist eine Bibliothek, die Funktionen enthält, die von Anwendungen zur Laufzeit aufgerufen werden können, während LIB eine statische Bibliothek ist, deren Code während der Kompilierung

2 aufgerufen werden muss. Die Verwendung von LIB würde zu einer einzelnen Datei führen, die beträchtlich größer ist, während Sie mehrere kleinere Dateien mit DLLs

3 erhalten. DLLs sind wiederverwendbarer als LIBs beim Schreiben neuer Versionen oder völlig neuer Anwendungen

4. DLL-Dateien können von anderen Anwendungen verwendet werden, während LIB-Dateien nicht

5. DLLs sind anfällig für Versionierungsprobleme, während LIB nicht

6 ist. Â Sie hätten bei der Entwicklung von Software mit DLLs immer noch eine LIB-Datei, aber sie enthält nur Stubs