2010-12-02 17 views
0

Setzen Sie eine Option, um dem Compiler mitzuteilen, statisch oder dynamisch die .lib zu binden, oder wie würden Sie prüfen, ob die .lib-Datei statisch an .exe gebunden ist?Statische und dynamische Bindung

+0

seit Sie erwähnt .exe Ich nehme es als Windows :) – Chubsdad

+1

Ich markierte es Windows :) – user963241

Antwort

1

Führen Sie die Datei "depends.exe" mit dem Flag "/ Dependers" aus. Hier ist die Ausgabe für cl.exe mit depends.exe mit VS2010 auf WinXP.

dumpbin/HALT cl.exe

Dateityp: ausführbares Image

Bild hat folgende Abhängigkeiten:

ADVAPI32.dll 
KERNEL32.dll 
MSVCR100.dll 
mspdb100.dll 

Bild hat folgende Verzögerung Lastabhängigkeiten:

VERSION.dll 
PSAPI.DLL 
SHELL32.dll 
+0

Zeigt es statisch oder dynamisch verknüpfte DLLs? – user963241

+0

@cpx: Ich nehme an, Sie meinen "statisch vs. dynamisch", ob es nur eine statische Bibliothek (.lib) ist, ohne dass eine DLL zur Laufzeit benötigt wird, und dynamisch bedeutet, dass Sie die entsprechende DLL benötigen? Wenn dies der Fall ist, lautet die Antwort: Jede Abhängigkeit der resultierenden ausführbaren Datei ist dynamisch, da jede statisch verknüpfte Bibliothek in Ihre Binärdatei selbst "eingebacken" wird. – Mephane

Verwandte Themen