微软Word for Windows 1.1a,原生X64移植
微软Word for Windows 1.1a - 原生x64移植 该项目是微软Word for Windows 1.1a的完全可用的原生Windows x64移植,其历史代号为Opus。它将原始的Word源代码和资源与现代替代品结合在一起,以适应16位汇编、分段内存和Win16平台边界。结果是原始的Word应用程序和用户体验作为64位Windows可执行文件运行。这不是一个模拟器,也不是一个使用现代编辑控件的重新实现。 需求 64位Windows Visual Studio 2022与C++桌面开发 安装了通过Visual Studio安装的Windows 10或Windows 11 SDK CMake 3.25或更新版本 PowerShell 构建和运行 从PowerShell提示符克隆仓库,配置包含的CMake预设并构建: git clone https: // github.com / jmarshall23 / msword.git Set-Location msword\src cmake --preset x64 - debug cmake --build --preset x64 - debug & ..\bin\ WORD1.exe 对于优化构建,请改用发布预设: cmake --preset x64 - release cmake --build --preset x64 - release & ..\bin\ WORD1.exe 预设使用Visual Studio 2022 x64生成器。配置后,生成的解决方案还可以直接从out\MicrosoftWordX64Port.sln打开;使用WORD1作为启动项目。 测试 从仓库根目录运行完整的调试测试套件: ctest --test-dir .\out - C Debug --output - on - failure 或者,当当前目录为src时: ctest --test-dir ..\out - C Debug --output - on - failure 对于发布构建,将Debug替换为Release。 套件覆盖移植的x64运行时、原始Word数据结构和命令表、进程启动,以及包括输入、选择、格式化、对话框和保存在内的自动化UI工作流。 项目布局 路径 目的 src/Opus/ 原始Microsoft Word/Opus应用程序源代码和资源 src/OpusEtAl/ 原始支持工具、库和构建输入 src/OpusProg/ 历史程序文档 src/port/original/ x64兼容性层、翻译例程和测试 src/port/tools/ 历史构建工具的原生替代 src/cmake/ 资源和源生成助手 out/ CMake缓存和生成的Visual Studio解决方案 build/ 中间工具、测试、探针、PDB和诊断 bin/ 最终可执行文件和运行时文件 out、build和bin在配置和编译期间本地生成。 移植工作原理 原始C和资源文件保持权威实现。移植仅添加在64位Windows上安全地构建和运行该代码所需的平台工作:16位x86汇编入口点被翻译成固定宽度的C或C++。分段和双间接内存句柄被映射到x64安全的原生运行时。Win16特定的启动、消息、图形、文件和资源行为被调整为当前的Win32 API。原始命令、对话框、光标、位图和其他生成的资产作为CMake图的一部分由原生主机工具重新构建。单元、运行时、烟雾和UI测试确保与原始算法和应用程序行为的兼容性。CMake清单遗留汇编树,但不将这些模块编译为本地目标。这保持历史实现可作为参考,同时确保所有交付的代码对AMD64有效。 有用的目标 目标 描述 WORD1 原生x64 Microsoft Word可执行文件 opus_original_engine 编译的原始Word应用程序引擎,用于x64 opus_x64_runtime 原生运行时和翻译的汇编行为 opus_word1_ui_test 自动化的端到端UI测试驱动程序 legacy_sources IDE可见的原始汇编的参考集合 用以下命令构建特定目标: cmake --build --preset x64 - debug --target WORD1 贡献 更改应保持原始Word行为,同时保持所有原生接口的指针宽度安全。 优先选择历史例程的源等效翻译,将无法避免的Windows API适配隔离在移植边界,并添加针对新翻译行为的针对性测试。 版权 历史源文件保留其原始的Microsoft和第三方版权声明。 此仓库当前不包括顶层许可证文件;在重新分发源代码或二进制文件之前,请审查适用的权利。
本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。
☕请我喝杯咖啡