Quel est l'équivalent de Linux lddsur Windows?
Réponses:
Voici Dependency Walker.
La dumpbincommande 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.dllSommaire
2000 .reloc 2000 .rsrc 1E000 .text
ou l'outil GNU:
i586-mingw32msvc-objdump -p *.exe | grep 'DLL Name:'
lddfait.
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 wineet 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 ldddans 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