什么是Linux的ldd在Windows上的等价物?

时间:2010-01-03 02:01:50

标签: windows linker shared-libraries ldd dependency-walker

Linux的ldd在windows上有什么相同的东西?

10 个答案:

答案 0 :(得分:48)

这是Dependency Walker。

http://dependencywalker.com/

答案 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

https://github.com/lucasg/Dependencies

答案 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