Unterschied zwischen statischer Verknüpfung und dynamischer Verknüpfung

8

Was ist der Unterschied zwischen statischer Verknüpfung und dynamischer Verknüpfung?

    
anand 11.11.2010, 11:12
quelle

4 Antworten

7

Die statische Verknüpfung wird zur "Kompilierzeit" durch ein Tool namens Linker durchgeführt. Die dynamische Verknüpfung erfolgt zur Laufzeit vom Betriebssystem.

    
Will Dean 11.11.2010, 11:15
quelle
11

Beim statischen Linken werden Funktionen und Variablen, die in externen Bibliotheksdateien definiert sind, in Ihrer ausführbaren Datei verlinkt. Das bedeutet, dass der Code beim Kompilieren / Verknüpfen tatsächlich mit Ihrem Code verknüpft wird.

Beim dynamischen Verknüpfen werden externe Funktionen, die Sie in Ihrer Software verwenden, nicht mit Ihrer ausführbaren Datei verknüpft. Stattdessen befinden sie sich in einer externen Bibliothek, die nur von Ihrer Software referenziert wird. Dh: Der Compiler / Linker weist die Software an, wo die verwendeten Funktionen zu finden sind.

Auf Windows-Plattformen können Sie sogar DLL-Dateien zur Laufzeit explizit laden und die in der DLL enthaltenen Funktionen anschließen.

    
Dexter 11.11.2010 11:25
quelle
1

statisches Verknüpfen erhöht die Dateigröße Ihres Programms und kann die Codegröße im Speicher erhöhen, wenn andere Anwendungen auf dem System ausgeführt werden ... Auf der anderen Seite nehmen dynamisch verknüpfte Programme weniger Platz und weniger virtuellen Speicher in Anspruch.

    
Akanksha Tiwari 04.12.2013 05:51
quelle
0
___ qstnhdr ___ Unterschied zwischen statischer Verknüpfung und dynamischer Verknüpfung ___ answer20367967 ___

statisches Verknüpfen erhöht die Dateigröße Ihres Programms und kann die Codegröße im Speicher erhöhen, wenn andere Anwendungen auf dem System ausgeführt werden ... Auf der anderen Seite nehmen dynamisch verknüpfte Programme weniger Platz und weniger virtuellen Speicher in Anspruch.

    
___ answer4153816 ___

Die statische Verknüpfung wird zur "Kompilierzeit" durch ein Tool namens Linker durchgeführt. Die dynamische Verknüpfung erfolgt zur Laufzeit vom Betriebssystem.

    
___ tag123dll ___ Eine Dynamic Link Library (DLL) ist ein Modul, das Funktionen und Daten enthält, die von einem anderen Modul (Anwendung oder DLL) verwendet werden können. Es ist Microsofts Implementierung des Shared-Library-Konzepts in den Betriebssystemen Microsoft Windows und OS / 2. ___ antwort12121215 ___

In statischen Linking-Bibliotheken zur Kompilierungszeit verknüpft, aber Code-Größe ist mehr, wenn Sie diese statische Verknüpfung, wenn Sie nur ein oder zwei Programme dann verwenden Sie statische Verknüpfung

Beim dynamischen Verknüpfen von Bibliotheken, die zur Ausführungszeit (oder) Ausführungszeit verknüpft sind, aber die Codegröße ist geringer, wenn Sie mehr Programme haben, verwenden Sie dynamische Verknüpfungen.

    
___ answer4153890 ___

Beim statischen Linken werden Funktionen und Variablen, die in externen Bibliotheksdateien definiert sind, in Ihrer ausführbaren Datei verlinkt. Das bedeutet, dass der Code beim Kompilieren / Verknüpfen tatsächlich mit Ihrem Code verknüpft wird.

Beim dynamischen Verknüpfen werden externe Funktionen, die Sie in Ihrer Software verwenden, nicht mit Ihrer ausführbaren Datei verknüpft. Stattdessen befinden sie sich in einer externen Bibliothek, die nur von Ihrer Software referenziert wird. Dh: Der Compiler / Linker weist die Software an, wo die verwendeten Funktionen zu finden sind.

Auf Windows-Plattformen können Sie sogar DLL-Dateien zur Laufzeit explizit laden und die in der DLL enthaltenen Funktionen anschließen.

    
___ qstntxt ___

Was ist der Unterschied zwischen statischer Verknüpfung und dynamischer Verknüpfung?

    
___
Maheswar reddy 25.08.2012 10:35
quelle

Tags und Links