【问题标题】:Find dependent modules of dll查找dll的依赖模块
【发布时间】:2012-02-23 09:25:44
【问题描述】:

我有自己的 custom.dll(C++、Windows)库,它依赖于:zlib.dll、iconv.dll 等。 custom.dll 由 custom.exe 加载。

在 C++/WinAPI 中有没有办法找到 custom.dll 在运行时依赖的模块列表?

有一个函数 EnumProcessModules 适用于进程。

进程加载的动态库有什么东西吗? 作为示例,dependecy walker 实用程序 fileInfo 插件可以正确显示此信息。

【问题讨论】:

  • 看看 [以编程方式查找依赖项 (C#)] stackoverflow.com/questions/450039/…。这个qn。适用于 C#,但答案中有一些有用的链接。
  • 当然,使用 EnumProcessModules()。两次,在您 LoadLibrary() DLL 之前和之后。差异大概是您感兴趣的。顺便说一句,很难看出这样做的意义。
  • @HansPassant:这错过了共享依赖项。例如。 Kernel32.DLL 不会出现。
  • 你熟悉不同类型的依赖吗?例如。延迟加载的 DLL ?

标签: c++ winapi dll


【解决方案1】:

看看依赖walker。它完全符合您的要求。 http://www.dependencywalker.com

【讨论】:

  • Denis Solovov 要求提供运行时解决方案,但是 +1,这是一个非常酷的实用程序,我用了好几年了。
  • 您是否要查找动态负载?例如:加载库?取决于那...否则,我没有仔细阅读...
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-10-31
  • 1970-01-01
  • 2010-12-22
  • 1970-01-01
  • 1970-01-01
  • 2015-06-23
  • 2015-06-11
相关资源
最近更新 更多