我有一个助手动态链接库,我使用了很长一段时间,它的签名没有任何变化,我将它复制到system32以便在我的所有产品中使用它,现在我在它的导出列表中添加一个函数并编译它,一切看起来都正常,我有了一个包含指定函数的新动态链接库。我的问题是,当我将它复制到system32中时,指定的函数丢失了,它看起来像是从缓存中复制的,并且它的一些旧版本将被加载,因此依赖新函数的程序将失败!有人知道问题出在哪里吗?
发布于 2013-04-03 16:18:49
你很可能有一个64位的系统。将文件复制到64位系统目录system32。但是,由于文件系统重定向器,您的32位应用程序从32位系统目录SysWOW64加载它。
通过复制到SysWOW64来解决此问题。
你可能知道这一点,但不管怎样,我觉得有必要说出来。系统目录属于系统,您不应对其进行写入。
发布于 2013-04-03 16:18:30
使用此to命令清除dll缓存。这已经在Win XP和Win 7上进行了测试。
sfc /purgecache请注意,您需要是管理员才能运行此命令或“以管理员身份运行”。不能100%确定这是否能解决你的问题。
https://stackoverflow.com/questions/15782103
复制相似问题