gpt4 book ai didi

windows - c++/cli DLL 在 Win 8.1 下失败

转载 作者:可可西里 更新时间:2023-11-01 12:19:03 24 4
gpt4 key购买 nike

我写了一个 Win32/net DLL,它在 Win XP、Win7 和 8 下工作正常,但在 Win 8.1 下它失败了。

Dependency Walker 说:未找到 API-MS-WIN-CORE-KERNEL32-PRIVATE-L1-1-1.DLL(user32.dll 会调用它们)

Google 的意思是,MS 在8.1 中更改了一些System-DLL(并忽略了兼容性),以至于很多程序都出现了同样的问题。

带有“找不到文件”的完整列表:

API-MS-WIN-CORE-KERNEL32-PRIVATE-L1-1-1.DLL
API-MS-WIN-CORE-PRIVATEPROFILE-L1-1-1.DLL
MSVCR120.DLL
API-MS-WIN-CORE-SHUTDOWN-L1-1-1.DLL
API-MS-WIN-SERVICE-PRIVATE-L1-1-1.DLL
EXT-MS-WIN-NTUSER-UICONTEXT-EXT-L1-1-0.DLL
IESHIMS.DLL

有人知道如何解决这个问题吗?

最佳答案

Dependency Walker 的静态分析不可靠。 Dependency Walker 根据其静态分析报告这些 DLL 的问题这一事实并不意味着这确实是您的问题。非常好的可执行文件如您在静态分析中所描述的那样报告问题是正常的,但执行得非常好。

现在我正在查看 Dependency Walker 对我的应用程序的评估,我看到的可能有问题的文件列表与您所做的完全相同。但是应用程序运行得很好。简而言之,您看到的是误报。

微软在升级操作系统时当然没有忽视兼容性。相反,它竭尽全力保持良好的兼容性。

如果您想使用 Dependency Walker 来调试 native DLL 的依赖性问题,那么您确实需要在动态模式下使用它,使用 Profile 菜单。这将告诉您哪个依赖项在运行时无法加载,如果这确实是您的问题。但是,根据托管和非托管之间的确切平衡点,Dependency Walker 可能不是完成这项工作的正确工具。

而且您的问题可能不是 native 依赖项的问题。第一步是让您准确诊断问题所在。这超出了这个问题的范围,因为我们没有您遇到的错误的任何详细信息。

关于windows - c++/cli DLL 在 Win 8.1 下失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24335787/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com