繁体   English   中英

为什么依赖行者显示缺少的dll?

[英]Why does dependency walker show missing dlls?

我有一个dll文件,当我尝试使用LoadLibrary加载时效果很好。 我能够成功调用加载的dll中的函数。 但是,当我尝试在此dll上使用依赖项遍历程序时,它向我显示了一堆丢失的dll和某些dll中的一些符号。

我知道我可以放心地忽略这些,但是我想知道为什么会这样? 我试图解析PE标头的导入目录,并且得到的结果也与依赖行者相似。

有指针吗?

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM