101

Windows 上的 Linux 相当于什么ldd

4

10 回答 10

57

Here is Dependency Walker.

http://dependencywalker.com/

于 2010-01-03T02:02:58.323 回答
56

dumpbin命令对很多事情都很有用,尽管在这种情况下,dependency walker 可能有点冗长。

dumpbin /dependents some.dll

示例输出:

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Team Tools\Static Analysis Tools>dumpbin /dependents StanPolicy.dll

文件 StanPolicy.dll 的转储

文件类型:DLL

图像具有以下依赖项:

mscoree.dll

概括

    2000 .reloc
    2000 .rsrc
   1E000 .text
于 2012-03-08T14:44:09.277 回答
40

或 GNU 工具:

i586-mingw32msvc-objdump -p  *.exe    | grep 'DLL Name:'
于 2012-04-17T15:52:54.540 回答
13

如果您使用wine而不是真正的 Windows,则可以使用WINEDEBUG=+loaddll wine <program>.

于 2012-04-27T17:50:04.537 回答
9

现在ldd在 Cygwin 中有一个。如果您有一个非常旧的 Cygwin 版本,则必须使用cygcheck.

于 2012-04-27T17:25:56.417 回答
8

我猜 Windows 开发人员的方法是使用dumpbin /dependents source.exe. 如果你安装了 Visual Studio,你可以在这里找到它:C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\dumpbin.exe.

于 2016-12-30T08:03:33.700 回答
8

Windows 上较新版本的 Git 包含一个名为Git BASH的东西,它模拟了许多有用的 Unix 命令,包括 ldd。

它似乎只报告可以找到的库。因此,您可以使用它来概览使用的库所在的位置,而不是缺少哪些。

于 2017-04-22T08:04:27.450 回答
4

对于 Windows 10,您可以使用 Dependencies - 一个开源的现代 Dependency Walker

https://github.com/lucasg/Dependencies

于 2020-08-28T13:34:29.830 回答
1

在 Windows 上,我使用 cmder 作为大多数事情的终端(而不是 powershell/pwsh)。对于cmder,您只需键入“ldd my_executable.exe”,您将看到预期的输出。

cmder下载链接:https ://cmder.net/

于 2021-08-12T10:33:34.400 回答
0

对于 Windows 10,使用 Visual Studio 2017,我进入 Windows 的搜索栏并输入:

“VS 2017 的开发人员命令提示符”(Visual Studio 开发人员的特殊 cmd.exe)

这允许访问应该与 /IMPORTS 标记一起使用的 DUMPBIN。例如,在正确的目录中:

DUMPBIN /IMPORTS yourfile.exe(其他扩展也可以工作)

对我来说,这列出了 DLL 和使用的函数。

或者,您可以使用更详细的标签 \ALL。

参见微软对 DUMPBIN 的解释:

https://docs.microsoft.com/en-us/cpp/build/reference/imports-dumpbin?view=vs-2019

命令发回的内容示例(只有一部分)

于 2020-09-29T09:55:47.460 回答