Les Crash-Devs d'un Passionné

Connaître la plateforme compatible à une DLL

/Catégorie/windows

Temps de lecture : 2 minutes

Dans le cas d'un projet j'avais besoin de connaitre l'architecture de la DLL que j'utilisais. En effet j'ai migré mon application sur une VM Windows 7 x64 alors qu'auparavant j'étais sur XP x86. Or rien ne permet de le savoir via l'interface graphique de Windows. Cependant il existe un outil qui permet de lire le header, dumpbin: https://msdn.microsoft.com/en-us/library/c1h23y6c%28v=vs.71%29.aspx

Cette outil est placé dans C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin pour Visual Studio 2010. Adaptez le chemin en fonction de votre version et du répertoire d'installation.

Il peut vous demander de rajouter mspdb100.dll et mspdb80.dll, dans ce cas placez le dans C:\Windows après l'avoir téléchargé depuis une simple recherche Google, heu Bing !

Ouvrez un dossier et rendez vous dans ce dossier, et voici un raccourci bien pratique Shift + Clic droit et choisir "Ouvrir une fenêtre de commande ici". Ainsi vous venez de lancer la console et de vous placer dans le bon dossier

dumpbin /headers chemin/dll/file.dll

Vous voyez ce genre de contenu,

dumpbin_long.png

Le champ machine nous intéresse plus particulièrement, aussi cette commande retourne que l'architecture compatible

dumpbin /headers chemin/dll/file.dll | find "machine"

Vous aurez x64 pour une machine 64 bits et x86, comme dans notre exemple, pour une 32 bits.