【发布时间】: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 ?