Contents
Beim statischen Verknüpfen werden alle im Programm verwendeten Bibliotheksmodule in das endgültige ausführbare Image kopiert. Dies wird vom Linker durchgeführt und ist der letzte Schritt des Kompilierungsprozesses. Der Linker kombiniert Bibliotheksroutinen mit dem Programmcode, um externe Referenzen aufzulösen und ein ausführbares Bild zu erzeugen, das zum Laden in den Speicher geeignet ist. Daher legt das Betriebssystem beim Laden des Programms eine einzelne Datei in den Speicher ab, die den ausführbaren Code und die Daten enthält. Diese statisch verknüpfte Datei enthält sowohl das aufrufende Programm als auch das aufgerufene Programm.
Dynamisches Linken besteht darin, Code in ein Formular zu kompilieren und zu verknüpfen, das sowohl zur Laufzeit als auch zur Linkzeit von Programmen geladen werden kann. Beim dynamischen Linken werden die Namen der externen Bibliotheken (gemeinsam genutzten Bibliotheken) in der endgültigen ausführbaren Datei platziert, während das eigentliche Binden zur Laufzeit stattfindet, wenn sowohl die ausführbare Datei als auch die Bibliotheken im Speicher abgelegt werden. Dynamisches Verknüpfen ermöglicht es mehreren Programmen, eine einzelne Kopie eines ausführbaren Moduls zu verwenden.
Dynamic Linking verwendet eine spezielle Variante eines Bibliotheksformats, die als Dynamic Linking Library (DLL) bezeichnet wird und eine gängige Methode ist, um Anwendungen und Subsysteme in kleinere Teile zu unterteilen, die kompiliert, getestet, wiederverwendet, verwaltet, bereitgestellt und installiert werden können separat. Dieser Ansatz ist bei Microsoft-Betriebssystemen sehr beliebt und wurde entwickelt, um die Größe der ausführbaren Anwendungsdateien und auch ihrer Laufzeitabbilder zu begrenzen.
Lesen Sie auch: Unterschied zwischen Linker und Loader
VERGLEICHSGRUNDLAGE | STATISCHE VERKNÜPFUNG | DYNAMISCHE VERKNÜPFUNG |
Beschreibung | Beim statischen Verknüpfen werden alle im Programm verwendeten Bibliotheksmodule in das endgültige ausführbare Image kopiert. | Beim Dynamic Linking werden die Namen der externen Bibliotheken oder Shared Libraries im Speicher abgelegt. Durch dynamisches Verknüpfen können viele Programme eine einzelne Kopie des ausführbaren Moduls verwenden. |
Gemeinsam genutzte Module | Wenn sich beim statischen Linken eines der externen Programme geändert hat, müssen sie neu kompiliert und neu gelinkt werden, sonst werden die Änderungen nicht in der vorhandenen ausführbaren Datei widergespiegelt. | Beim Dynamic Linking können gemeinsam genutzte Module aktualisiert und neu kompiliert werden. |
Die Ausführung | Statisches Linken wird von Programmen durchgeführt, die als Linker bezeichnet werden, als letzter Schritt beim Kompilieren eines Programms. Linker werden auch Link-Editoren genannt. | Die dynamische Verknüpfung wird zur Laufzeit vom Betriebssystem durchgeführt. |
Ladezeit | Statisch verknüpftes Programm benötigt jedes Mal eine konstante Ladezeit, wenn es zur Ausführung in den Speicher geladen wird. | Beim dynamischen Linken kann die Ladezeit reduziert werden, wenn der Code der gemeinsam genutzten Bibliothek bereits im Speicher vorhanden ist. |
Kompatibilitätsfaktor | In statisch verknüpften Programmen ist der gesamte Code in einem einzigen ausführbaren Modul enthalten. Daher treten nie Kompatibilitätsprobleme auf. | Dynamisch verknüpfte Programme sind auf eine kompatible Bibliothek angewiesen. |
Geschwindigkeit | Programme, die statisch verknüpfte Bibliotheken verwenden, sind normalerweise schneller als Programme, die gemeinsam genutzte Bibliotheken verwenden. | Programme, die gemeinsam genutzte Bibliotheken verwenden, sind normalerweise langsamer als Programme, die statisch verknüpfte Bibliotheken verwenden. |
Größe des ausführbaren Programms | Statisch verknüpfte Dateien sind erheblich größer, da externe Programme in die ausführbaren Dateien integriert sind. | Beim dynamischen Verknüpfen wird nur eine Kopie der gemeinsam genutzten Bibliothek im Speicher gehalten. Dadurch wird die Größe ausführbarer Programme erheblich reduziert, wodurch Arbeitsspeicher und Speicherplatz gespart werden. |
Dateigröße | Statistisch verknüpfte Dateien sind größer. | Dynamisch verknüpfte Dateien sind kleiner. |
Einleitung: Die Begriffe "Freeway" und "Highway" werden oft synonym verwendet, aber es gibt subtile Unterschiede…
Burritos und Enchiladas sind zwei beliebte Gerichte der mexikanischen Küche, die oft miteinander verwechselt werden.…
In der Zellbiologie spielen Replikation und Transkription entscheidende Rollen im genetischen Prozess. Beide sind Mechanismen,…
Osmose und Diffusion sind zwei grundlegende Prozesse, die in der Zellbiologie und Chemie eine entscheidende…
Einleitung: Die Evolution der mobilen Kommunikationstechnologie hat einen bedeutenden Meilenstein erreicht, als 4G (LTE) zu…
Einleitung: JPG und PNG sind zwei gängige Bildformate, die im Internet weit verbreitet sind. Obwohl…