Что эквивалентно Linux в ldd
Windows?
Ответы:
Вот Dependency Walker.
Команда dumpbin
может быть полезна для многих вещей, хотя в этом случае обходчик зависимостей, вероятно, будет немного более подробным.
dumpbin /dependents some.dll
Пример вывода:
C: \ Program Files (x86) \ Microsoft Visual Studio \ 2017 \ Community \ Team Tools \ Инструменты статического анализа> dumpbin / иждивенцы StanPolicy.dll
Дамп файла StanPolicy.dll
Тип файла: DLL
Изображение имеет следующие зависимости:
mscoree.dll
Резюме
2000 .reloc 2000 .rsrc 1E000 .text
или инструмент GNU:
i586-mingw32msvc-objdump -p *.exe | grep 'DLL Name:'
ldd
делает.
PowerShell может это сделать
PS> Start-Process -PassThru calc.exe | Get-Process -Module Размер (K) Название модуля ------- ---------- 908 calc.exe 1700 ntdll.dll 1148 kernel32.dll 432 KERNELBASE.dll 13856 SHELL32.dll ...
Если вы используете wine
не настоящую Windows, вы можете использовать WINEDEBUG=+loaddll wine <program>
.
GdiplusStartup
, и GDI + работал без проблем в Wine, а в Windows - нет. Я заметил эту ошибку только после того, как отладил программу в Wine, пытаясь затем запустить ее в Windows.
Теперь ldd
в Cygwin есть. Если у вас очень старая версия Cygwin, вам придется использовать cygcheck
.
Я предполагаю, что способ разработчика Windows сделать это - использовать dumpbin /dependents source.exe
. Если у вас есть Visual Studio установлена , вы можете найти его здесь: C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\dumpbin.exe
.
Новые версии Git для Windows поставляются в комплекте с чем-то под названием Git BASH , которое имитирует многие полезные команды Unix, включая ldd.
Похоже, что он сообщает только о библиотеках, которые можно найти. Таким образом, вы можете использовать это, чтобы получить представление о том, где находятся используемые библиотеки, но не о том, какие из них отсутствуют.
Для Windows 10 вы можете использовать Dependencies - современный Dependency Walker с открытым исходным кодом.
Для Windows 10 с Visual Studio 2017 я захожу в строку поиска Windows и набираю:
«Командная строка разработчика для VS 2017» (специальный cmd.exe для разработчика Visual Studio)
Это позволяет получить доступ к DUMPBIN, который следует использовать с тегом \ IMPORTS. Например, в правильном каталоге:
DUMPBIN \ IMPORTS yourfile.exe (другие расширения тоже могут работать)
Для меня это список DLL и используемых функций.
Как вариант, вы можете использовать более подробный тег \ ALL.
см. объяснение DUMPBIN от Microsoft:
https://docs.microsoft.com/en-us/cpp/build/reference/imports-dumpbin?view=vs-2019
Пример (только с частью) контента, отправленного обратно командой