gpt4 book ai didi

c++ - 编写加载 msvcr80.dll 并公开 free() 函数的 DLL

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:41:52 25 4
gpt4 key购买 nike

我有一个依赖于 MSVCR80 并分配我需要清理的资源的第三方 DLL。该库公开用于执行此操作的免费函数。相反,我需要加载相同的运行时库并手动调用 free 函数。

作为解决方法,我正在尝试编写一个“包装器”DLL,它加载正确的运行时并公开 free 函数。此 DLL 是使用 Visual Studio 2010 创建的,并且依赖于单独的运行时库。执行 LoadLibrary("msvcr80.dll") 失败并出现错误 R6034,我猜这是因为明显的问题。

甚至可以使用 LoadLibrary 加载 msvcr80.dll 吗?我是否需要创建一个 list ,将其嵌入 DLL 并将 msvcr80.dll 存储在与我的包装器 DLL 相同的目录中?

我意识到这是第三方库中的一个缺陷,但我几乎坚持使用这个版本。让供应商解决这个问题很可能不是一种选择。

最佳答案

可能有更好的解决方案,但如果其他方法都失败了,您可以在某个地方找到 VC++ 2005 Express Edition 的拷贝(=免费,不需要盗版 ;) ),它使用 8.0 版的编译器,因此与有缺陷的 dll 运行时相同。

然后您将使用它构建您的包装器 dll,它只会调用其 CRT 提供的 free(仔细检查您使用的是 dll 版本!)。

关于c++ - 编写加载 msvcr80.dll 并公开 free() 函数的 DLL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7419544/

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