1

我有一个 dll 文件,当我尝试使用加载时它LoadLibrary工作正常。我能够成功调用加载的dll中的函数。但是,当我尝试在此 dll 上使用依赖项walker 时,它向我显示了一堆丢失的 dll 和一些 dll 中的一些符号。

我知道我可以放心地忽略这些,但是我想知道为什么会发生这种情况?我试图通过 PE 头文件导入目录进行解析,我也得到了与依赖 walker 类似的结果。

任何指针?

4

1 回答 1

0

我认为您看到了 Windows 实现的一部分,这是因为 Dependency Walker 不知道确切的操作系统规则,但知道LoadLibrary。出于兼容性原因,其中一些“虚假导入”可能存在,以支持对 Windows DLL 做出毫无根据的假设的应用程序。

您应该链接的 DLL 的 MSDN 文档。他们通常转发给其他 DLL。请不要对那些实现 DLL 进行硬编码。当实现 DLL 发生变化时,您的公司可能不够重要,以至于 Microsoft 添加兼容性黑客。

于 2015-10-22T16:03:01.983 回答