Quel est l'équivalent de Linux ldd
sur Windows?
Réponses:
Voici Dependency Walker.
La dumpbin
commande peut être utile pour beaucoup de choses, bien que dans ce cas, le walker de dépendances soit probablement un peu plus détaillé.
dumpbin /dependents some.dll
Exemple de sortie:
C: \ Program Files (x86) \ Microsoft Visual Studio \ 2017 \ Community \ Team Tools \ Static Analysis Tools> dumpbin / dépendants StanPolicy.dll
Dump du fichier StanPolicy.dll
Type de fichier: DLL
L'image a les dépendances suivantes:
mscoree.dll
Sommaire
2000 .reloc 2000 .rsrc 1E000 .text
ou l'outil GNU:
i586-mingw32msvc-objdump -p *.exe | grep 'DLL Name:'
ldd
fait.
PowerShell peut le faire
PS> Démarrer-Process -PassThru calc.exe | Get-Process -Module Taille (K) Nom du module ------- ---------- 908 calc.exe 1700 ntdll.dll 1148 kernel32.dll 432 KERNELBASE.dll 13856 SHELL32.dll ...
Si vous utilisez wine
et non de vrais Windows, vous pouvez utiliser WINEDEBUG=+loaddll wine <program>
.
GdiplusStartup
, et GDI + a fonctionné sans problème dans Wine, alors que sous Windows, ce n'était pas le cas. Je n'ai remarqué cette erreur qu'après avoir débogué le programme dans Wine, en essayant ensuite de l'exécuter sous Windows.
Il y a maintenant un ldd
dans Cygwin. Si vous avez une très ancienne version de Cygwin, vous devrez utiliser cygcheck
.
Je suppose que le moyen pour les développeurs Windows de le faire est d'utiliser dumpbin /dependents source.exe
. Si vous avez Visual Studio installé , vous pouvez le trouver ici: C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\dumpbin.exe
.
Les nouvelles versions de Git sur Windows sont livrées avec quelque chose appelé Git BASH , qui émule de nombreuses commandes Unix utiles, y compris ldd.
Il semble qu'il ne signale que les bibliothèques qui peuvent être trouvées. Vous pouvez donc l'utiliser pour avoir un aperçu de l'emplacement des bibliothèques utilisées, mais pas de celles qui manquent.
Pour Windows 10, vous pouvez utiliser les dépendances - Un explorateur de dépendances moderne open-source
Pour windows 10, avec visual studio 2017, je vais dans la barre de recherche de windows et tape:
"Developer Command Prompt for VS 2017" (un cmd.exe spécial pour les développeurs Visual Studio)
Cela permet d'accéder à DUMPBIN qui doit être utilisé avec la balise \ IMPORTS. Par exemple, dans le bon répertoire:
DUMPBIN \ IMPORTS yourfile.exe (d'autres extensions peuvent également fonctionner)
Pour moi, cette liste la DLL et les fonctions utilisées.
Alternativement, vous pouvez utiliser la balise \ ALL qui est beaucoup plus détaillée.
voir l'explication Microsoft de DUMPBIN:
https://docs.microsoft.com/en-us/cpp/build/reference/imports-dumpbin?view=vs-2019
Exemple (avec une partie seulement) du contenu renvoyé par la commande