c++ - 复制到system32后文件会改变

标签 c++ windows

我有一个助手 DLL,我使用了很长时间,其签名没有任何变化,我将它复制到 system32 以便在我的所有产品中使用它,现在我添加了一个函数到它的导出列表并编译它,一切看起来都很好,我有一个包含指定函数的新 DLL。我的问题是,当我将它复制到 system32 时,指定的函数丢失了,看起来它将以某种方式从缓存中复制并加载它的一些旧版本,因此依赖于新函数的程序将失败了!有谁知道问题出在哪里?

最佳答案

很可能您使用的是 64 位系统。您将文件复制到 64 位系统目录 system32。但是,由于文件系统重定向器,您的 32 位应用程序会从 32 位系统目录 SysWOW64 加载它。

通过复制到SysWOW64解决问题。

您可能知道这一点,但我还是不得不说出来。系统目录属于系统,你不应该写入它。

关于c++ - 复制到system32后文件会改变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15782103/

相关文章:

c++ - std::stod 为应该有效的字符串抛出 out_of_range 错误

c++ - 如何将适用于一对的正则表达式扩展到多对

c++ - 我应该使用 UTF-8 通过网络发送数据吗?

windows - PHPStorm - 无效的后代文件名

c++ - Windows 程序如何临时更改其时区?

c++ - 在单核 CPU 上写入变量是原子的吗?

windows - 如何在重复分隔符处分割大型文本文件,而不是按行号或确切大小

c++ - 逃逸陷阱标志/单步

windows - msys2 找不到 mingw64

c++ - 如何从 int 转换为 wchar_t*?