DLL bezieht sich auf eine dynamische Linkbibliothek, eine ausführbare Datei, die es Programmen ermöglicht, Code und andere Ressourcen zu teilen, die für die Ausführung spezieller Aufgaben erforderlich sind. In Windows sind viele Anwendungen keine vollständig ausführbaren Dateien. Sie sind in einige relativ unabhängige dynamische Linkbibliotheken unterteilt, dh DLL-Dateien, die im System abgelegt werden. Eine Anwendung kann über mehrere DLL-Dateien verfügen und eine DLL-Datei kann von mehreren Anwendungen gemeinsam genutzt werden. Solche DLL-Dateien werden als gemeinsam genutzte DLL-Dateien bezeichnet.
Die Betriebsumgebung dieses Tutorials: Windows 7-System, Dell G3-Computer.
DLL ist die Abkürzung für Dynamic Link Library, was „Dynamic Link Library“ bedeutet, und manche Leute nennen es Anwendungserweiterung. Es handelt sich um eine ausführbare Datei, die es Programmen ermöglicht, den Code und andere Ressourcen zu teilen, die für die Ausführung spezieller Aufgaben erforderlich sind.
In Windows sind viele Anwendungen keine vollständig ausführbaren Dateien. Sie sind in einige relativ unabhängige dynamische Linkbibliotheken unterteilt, dh DLL-Dateien, die im System abgelegt werden. Wenn wir ein Programm ausführen, wird die entsprechende DLL-Datei aufgerufen. Eine Anwendung kann über mehrere DLL-Dateien verfügen und eine DLL-Datei kann von mehreren Anwendungen gemeinsam genutzt werden. Solche DLL-Dateien werden als gemeinsam genutzte DLL-Dateien bezeichnet.
DLL-Dateien ermöglichen es Programmen, Code und andere Ressourcen gemeinsam zu nutzen, die für die Ausführung spezieller Aufgaben erforderlich sind. Größere Anwendungen bestehen aus vielen Modulen, die relativ unabhängige Funktionen ausführen und die Arbeit des gesamten Softwaresystems vervollständigen. Möglicherweise gibt es einige Module, deren Funktionen allgemeiner sind und dennoch beim Aufbau anderer Softwaresysteme verwendet werden. Wenn beim Erstellen eines Softwaresystems der Quellcode aller Module statisch in die gesamte EXE-Datei der Anwendung kompiliert wird, treten einige Probleme auf: Ein Nachteil besteht darin, dass dadurch die Größe der Anwendung zunimmt, wodurch mehr Speicherplatz beansprucht wird und das Programm ausgeführt wird Außerdem wird viel Speicherplatz verbraucht, was zu einer Verschwendung von Systemressourcen führt. Ein weiterer Nachteil besteht darin, dass beim Schreiben eines großen EXE-Programms bei jeder Änderung und Neuerstellung alle Quellcodes angepasst und kompiliert werden müssen, was die Komplexität erhöht Der Kompilierungsprozess ist auch für gestaffelte Unit-Tests nicht förderlich.
Die Windows-Systemplattform bietet eine völlig andere und effektivere Programmier- und Ausführungsumgebung. Sie können unabhängige Programmmodule als kleinere DLL-Dateien erstellen und diese separat kompilieren und testen. Zur Laufzeit lädt das System diese DLL-Module nur dann in den Speicherbereich, wenn das EXE-Programm sie wirklich aufrufen möchte. Dieser Ansatz reduziert nicht nur die Größe der EXE-Datei und den Speicherplatzbedarf, sondern ermöglicht auch die gleichzeitige Nutzung dieser DLL-Module durch mehrere Anwendungen. Windows selbst implementiert einige wichtige Systemfunktionen in Form von DLL-Modulen.
Im Allgemeinen ist eine DLL eine Festplattendatei. Systemdateien mit den Erweiterungen .dll, .DRV, .FON, .SYS und vielen .EXE können DLLs sein. Es besteht aus globalen Daten, Servicefunktionen und Ressourcen. Es wird zur Laufzeit vom System in den virtuellen Raum des aufrufenden Prozesses geladen und wird Teil des aufrufenden Prozesses. Wenn keine Konflikte mit anderen DLLs vorliegen, wird die Datei normalerweise derselben Adresse im virtuellen Raum des Prozesses zugeordnet. Das DLL-Modul enthält verschiedene exportierte Funktionen zur Bereitstellung von Diensten nach außen. Eine DLL kann über ein eigenes Datensegment verfügen, verfügt jedoch nicht über einen eigenen Stapelmodus, da die Anwendung, die sie aufruft, nur eine Instanz im Speicher hat hängt mit der spezifischen Programmiersprache zusammen. Es hat nichts mit dem Compiler zu tun.
In einer Win32-Umgebung kopiert jeder Prozess seine eigenen globalen Lese-/Schreibvariablen. Wenn Sie Speicher mit anderen Prozessen teilen möchten, müssen Sie eine Speicherzuordnungsdatei verwenden oder ein gemeinsam genutztes Datensegment deklarieren. Der von DLL-Modulen benötigte Stapelspeicher wird vom Stapel des laufenden Prozesses zugewiesen. Windows ordnet Prozessfunktionsaufrufe den exportierten Funktionen der DLL-Datei zu, wenn es ein DLL-Modul lädt. Der Betrieb des Windows-Betriebssystems auf der DLL besteht lediglich darin, die DLL dem virtuellen Adressraum des Prozesses zuzuordnen, der sie benötigt. Alle Objekte (einschließlich Variablen), die durch Code innerhalb einer DLL-Funktion erstellt werden, gehören dem Thread oder Prozess, der sie aufruft.
Vorteile von DLL
Wenn ein Programm eine DLL verwendet, hat dies die folgenden Vorteile: Verbraucht weniger Ressourcen. Wenn mehrere Programme dieselbe Funktionsbibliothek verwenden, kann die DLL die Menge an Duplikaten des auf der Festplatte und im physischen Speicher geladenen Codes reduzieren. Dies kann sich nicht nur stark auf Programme auswirken, die im Vordergrund ausgeführt werden, sondern auch auf andere Programme, die auf dem Windows-Betriebssystem ausgeführt werden. Die Förderung modularer Architektur-DLLs kann dazu beitragen, die Entwicklung modularer Programme zu fördern. Dies kann Ihnen bei der Entwicklung großer Programme helfen, die mehrere Sprachversionen erfordern, oder Programme, die eine modulare Architektur erfordern. Ein Beispiel für ein modulares Programm ist ein Buchhaltungsprogramm, das über mehrere Module verfügt, die zur Laufzeit dynamisch geladen werden können. Vereinfachte Bereitstellung und Installation Wenn Funktionen in einer DLL aktualisiert oder repariert werden müssen, ist es für die Bereitstellung und Installation einer DLL nicht erforderlich, die Verknüpfung des Programms mit der DLL wiederherzustellen. Wenn außerdem mehrere Programme dieselbe DLL verwenden, profitieren mehrere Programme von dem Update oder Fix. Dieses Problem kann häufiger auftreten, wenn Sie DLLs von Drittanbietern verwenden, die regelmäßig aktualisiert oder repariert werden.
Weitere Informationen zu diesem Thema finden Sie in der Spalte „FAQ“!
Das obige ist der detaillierte Inhalt vonWas bedeutet DLL-Datei?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!