当前位置: 首页 > news >正文

64 位 Windows 对 32 位程序的兼容处理

简单来说,Windows 为 32 位程序提供 32 位版本系统库和一个用于访问 64 位内核的转接层 WOW64 来确保兼容性。
32 位程序在 64 位系统上执行时像往常一样加载和调用 32 位版本系统库,只是对 32 位版本系统库的调用将在内部被通过 WOW64 转调至 64 位版本。 并且在访问特定注册表项和文件时,32 位程序会被重定向至 32 位版本的内容。这些机制对程序来说是无感的。

重定向机制:

  • 注册表重定向
    64 位系统会对 32 位程序的特定注册表访问实施重定向,以防止注册表冲突。 注册表重定向本质上是提供两份注册表项,一份供 64 位程序使用,另一份供 32 位程序使用。 不同 Windows 版本之间会重定向的注册表项可能是不同的 (LOCAL_MACHINE/Software 下的内容几乎总是被重定向)。 应用程序在访问注册表时可在 samDesired 参数中添加
    KEY_WOW64_64KEY 或 KEY_WOW64_32KEY 标识以访问指定版本的注册表。

  • 注册表反射
    一些注册表项的值在 32 位和 64 位注册表中是必须相同的。为了确保这一点,Windows 引入了注册表反射机制。 这些注册表项的值在被更改后将会同步至另一版本的注册表中。同步的时机点是注册表项被关闭(RegCloseKey)的那一刻。 应用程序可通过 RegEnableReflectionKeyRegDisableReflectionKey API 来启用/禁用注册表项的反射。

  • 文件重定向
    为了确保 32 位程序能够找到自己所需版本的系统文件,Windows 引入了该机制。 当 32 位程序在访问 System32 等目录时将会被重定向至相应的 SysWOW64 目录下。 应用程序可以通过 Wow64DisableWow64FsRedirection Wow64EnableWow64FsRedirectionWow64RevertWow64FsRedirection API 来避免被重定向。

额外补充:

  • WoW进程
    运行在 64 位系统上的 32 位程序被称为 WoW 进程。

  • 安腾处理器
    安腾处理器下,Windows 使用 8kb 页面模拟 32 位程序的 4kb 页面,这导致小部分相关 API 不可用。 并且如果同一个 32 位程序有多个实例同时运行,其会增加显著的虚拟内存开销。

  • 性能问题
    x86-64 架构处理器直接支持 x86 指令,因此 32 位程序执行速度与在 32 位系统上相似。而在安腾和 ARM64 处理器下,32 位程序性能会有受影响。


详细内容请参考文档系列:https://learn.microsoft.com/en-us/windows/win32/winprog64/running-32-bit-applications


--- 2020-‎3-‎26
http://www.zskr.cn/news/143213.html

相关文章:

  • AI 原生应用开发框架深度解析:从单智能体到多智能体协同开发 - 2
  • 全面掌握AI大模型:从零基础入门到实战应用的七阶段学习路线图全攻略!
  • P11398 众数
  • Web自动化测试框架
  • 数据里的“平行宇宙”:用分支管理实现数据的版本控制
  • 探索Maxwell外转子电机设计与电磁仿真
  • 软件测试:如何进行微服务测试?
  • Jmeter 性能-需求分析业务/场景设计
  • 【必藏】从RAG到Agent的坑,看懂本体工程如何成为LLM时代的真正胜负手
  • NVIDIA显卡疑难杂症:全面诊断与修复指南
  • AI 建站是否支持 SEO 优化?运维与后期优化的实务指南
  • 从0到1部署Tomcat和添加servlet(IDEA2024最新版详细教程) - 详解
  • 俄罗斯发动大规模空袭,袭击引发多处火灾!
  • 2026年权威查ai率渠道、降ai率工具大汇总【建议收藏】
  • 域名注册信息为什么会被隐藏?
  • 各种类型网络安全竞赛有哪些 网络安全大赛的简称
  • python+pytest+request 接口自动化测试
  • 基于SpringBoot的高校考研考公及考证系统设计与实现
  • LangChain之调用MCP工具
  • JavaScript —— JavaScript 数据处理和转换工具函数详解
  • RPA重塑医疗运营!从行政负担到智能自动化,破解医疗行业效率与合规双重困境
  • 实邦电子能成为电子产品开发的优质推荐供应商吗?
  • 高危区域安防新范式!RFID+自主无人机集成监控系统的设计、迭代与实践
  • 美团二面:Redis 的 Key 过期时间到了,内存是立马释放的吗?为什么我的主库内存正常,从库却爆了?
  • 看见“黑箱”内部:可解释AI如何赢得工艺专家的信任?
  • 特种控制电缆生产厂家推荐:计算机、太阳能光伏、绝缘电力、屏蔽电缆全品类覆盖(2025年12月新) - 品牌2026
  • 生成式AI落地潮:从技术狂欢到商业价值重构
  • CTF如何选择一个适合自己的方向?
  • 双 Token 机制下的无感刷新(Refresh Token)后端实现
  • Spring Security 进阶:基于 Customizer 的分布式权限配置架构设计