我有我自己的custom.dll(C++,Windows)库,它依赖于:zlib.dll,iconv.dll等。 custom.dll由custom.exe加载。查找DLL的依赖模块
在C++/WinAPI中是否可以找到custom.dll在运行时依赖的模块列表?
有一个函数EnumProcessModules用于处理。
是否有某些动态库被进程加载? 作为示例,依赖walker实用程序fileInfo插件正确显示此信息。
我有我自己的custom.dll(C++,Windows)库,它依赖于:zlib.dll,iconv.dll等。 custom.dll由custom.exe加载。查找DLL的依赖模块
在C++/WinAPI中是否可以找到custom.dll在运行时依赖的模块列表?
有一个函数EnumProcessModules用于处理。
是否有某些动态库被进程加载? 作为示例,依赖walker实用程序fileInfo插件正确显示此信息。
看看依赖沃克。它完全符合你的要求。 http://www.dependencywalker.com
看看[程序化查找依赖关系(C#)] http://stackoverflow.com/questions/450039/how-to-programmatically-get-dll-dependencies。这个qn。适用于C#,但答案中有一些有用的链接。 – PermanentGuest 2012-02-23 10:02:02
当然,使用EnumProcessModules()。在LoadLibrary()DLL之前和之后两次。这种差别大概是你感兴趣的。很难看到这样做顺便说一句。 – 2012-02-23 10:35:45
@HansPassant:错过了共享依赖关系。例如。 'Kernel32.DLL'不会显示出来。 – MSalters 2012-02-23 11:00:20