我有一个助手 DLL,我使用了很长时间,其签名没有任何变化,我将它复制到 system32
以便在我的所有产品中使用它,现在我添加了一个函数到它的导出列表并编译它,一切看起来都很好,我有一个包含指定函数的新 DLL。我的问题是,当我将它复制到 system32
时,指定的函数丢失了,看起来它将以某种方式从缓存中复制并加载它的一些旧版本,因此依赖于新函数的程序将失败了!有谁知道问题出在哪里?
最佳答案
很可能您使用的是 64 位系统。您将文件复制到 64 位系统目录 system32。但是,由于文件系统重定向器,您的 32 位应用程序会从 32 位系统目录 SysWOW64 加载它。
通过复制到SysWOW64解决问题。
您可能知道这一点,但我还是不得不说出来。系统目录属于系统,你不应该写入它。
关于c++ - 复制到system32后文件会改变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15782103/