Linux的ldd在windows上有什么相同的东西?
答案 0 :(得分:48)
这是Dependency Walker。
答案 1 :(得分:31)
或GNU工具:
i586-mingw32msvc-objdump -p *.exe | grep 'DLL Name:'
答案 2 :(得分:27)
dumpbin
命令对许多事情都很有用,尽管在这种情况下,依赖者walker可能更加冗长。
dumpbin /dependents some.dll
答案 3 :(得分:21)
PowerShell可以做到这一点
PS > Start-Process -PassThru calc.exe | Get-Process -Module Size(K) ModuleName ------- ---------- 908 calc.exe 1700 ntdll.dll 1148 kernel32.dll 432 KERNELBASE.dll 13856 SHELL32.dll ...
答案 4 :(得分:12)
如果您使用的是wine
而不是真正的Windows,则可以使用WINEDEBUG=+loaddll wine <program>
。
答案 5 :(得分:7)
我想Windows Developer的方法是使用dumpbin /dependents source.exe
。如果安装了Visual Studio,可以在此处找到它:C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\dumpbin.exe
。
答案 6 :(得分:6)
Cygwin现在有一个ldd
。如果你有一个非常古老的Cygwin版本,你将不得不使用cygcheck
。
答案 7 :(得分:6)
Windows上较新版本的Git包含了一些名为 Git BASH 的东西,它模拟了许多有用的Unix命令,包括ldd。
它似乎只报告可以找到的库。因此,您可以使用它来概述所使用的库的位置,而不是缺少哪些库。
答案 8 :(得分:0)
对于Windows 10,您可以使用Dependencies-一种开源的现代Dependency Walker
答案 9 :(得分:0)
对于Windows 10,使用Visual Studio 2017,我进入Windows的搜索栏中,然后输入:
“ VS 2017的开发人员命令提示符”(Visual Studio开发人员的特殊cmd.exe)
这允许访问应与\ IMPORTS标记一起使用的DUMPBIN。例如,在正确的目录中:
DUMPBIN \ IMPORTS yourfile.exe(其他扩展名也可以工作)
对我来说,这列出了DLL和使用的功能。
或者,您可以使用\ ALL标记,它更加冗长。
请参阅DUMPBIN的Microsoft说明:
https://docs.microsoft.com/en-us/cpp/build/reference/imports-dumpbin?view=vs-2019
Example ( with only a part) of the content sended back by the command