2010-12-02 8 views
0

Définissez-vous une option pour indiquer au compilateur de lier statiquement ou dynamiquement le fichier .lib ou comment vérifier si le fichier .lib est lié statiquement à .exe?Liaison statique et dynamique

+0

depuis que vous avez mentionné .exe je le prends comme Windows :) – Chubsdad

+1

Je l'ai tagué windows :) – user963241

Répondre

1

Exécutez depends.exe avec l'indicateur/Dependents. Voici la sortie de cl.exe en utilisant depends.exe avec VS2010 sur WinXP.

dumpbin/AYANTS cl.exe

Type de fichier: EXÉCUTABLE IMAGE

image a les dépendances suivantes:

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

image a les dépendances de charge de retard suivants:

VERSION.dll 
PSAPI.DLL 
SHELL32.dll 
+0

Est-ce qu'il montre statiquement ou dynamiquement lié dlls? – user963241

+0

@cpx: Je suppose que vous voulez dire par "statique vs dynamique" si c'est juste une bibliothèque statique (.lib) sans DLL requise à l'exécution, et dynamique signifie que vous avez besoin de la DLL correspondante? Si oui, la réponse est la suivante: Chaque dépendance de l'exécutable résultant est dynamique, car toute bibliothèque reliée statiquement sera "cuite" dans votre binaire lui-même. – Mephane