我有一个第三方 DLL,它依赖于 MSVCR80 并分配我需要清理的资源。该库不公开执行free
此操作的 -function。相反,我需要加载相同的运行时库并手动调用该free
函数。
作为一种解决方法,我正在尝试编写一个“包装器”DLL,以加载正确的运行时并公开该free
函数。此 DLL 是使用 Visual Studio 2010 创建的,并且依赖于单独的运行时库。执行LoadLibrary("msvcr80.dll")
失败并出现错误 R6034,我猜这是因为明显的问题。
甚至可以使用加载 msvcr80.dllLoadLibrary
吗?我是否需要创建一个清单,将其嵌入到 DLL 中并将 msvcr80.dll 存储在与我的包装 DLL 相同的目录中?
我意识到这是第三方库中的一个缺陷,但我几乎被这个版本所困扰。让供应商解决这个问题很可能不是一个选择。