Unterschied zwischen LIB und DLL

Unterschied zwischen LIB und DLL

Lib vs dll

Bei der Entwicklung von Software werden wir häufig gefragt, ob wir LIB oder DLLs verwenden möchten, um Funktionen für die Anwendung zu enthalten. LIB ist eine statische Bibliothek, in der Funktionen und Verfahren platziert und so aufgerufen werden können, wie die Anwendung zusammengestellt wird. Eine DLL- oder Dynamic Link-Bibliothek erfüllt die gleiche Funktion, ist jedoch in dem Sinne dynamisch, dass die Anwendung diese Bibliotheken während der Laufzeit und nicht während der Zusammenstellung aufrufen kann. Dies bietet einige signifikante Vorteile im Vergleich zur Verwendung von LIB.

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

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

Bei der Entwicklung der Software und der Auswahl der DLL haben Sie immer noch eine LIB -Datei in Ihrem Projekt. Anders als bei der Verwendung von LIB enthält diese Datei nicht den Code der Funktionen und Verfahren, sondern nur Stubs, die das Programm die Verfahren aus der DLL aufrufen muss.

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 Zusammenstellung aufgerufen werden muss
2. Die Verwendung von LIB würde zu einer einzelnen Datei führen, die umfangreicher ist, während Sie mehrere kleinere Dateien mit DLLs erhalten
3. DLLs sind mehr wiederverwendbar als Libs, wenn sie neue Versionen oder völlig neue Anwendungen schreiben
4. DLL -Dateien können von anderen Anwendungen verwendet werden, während LIB -Dateien nicht können
5. DLLs sind anfällig für Versioningprobleme, während Lib nicht ist
6.Sie hätten immer noch eine LIB -Datei bei der Entwicklung von Software mit DLLs, aber sie enthält nur Stubs