该仓库是 Microsoft Word for Windows 1.1a(历史代号 Opus)的原生 Windows x64 移植项目。它使用原始 Word 源码和资源作为主体实现,并通过现代 C/C++、Win32 API 适配层、x64 安全运行时和构建工具替代原有的 16 位汇编、分段内存模型和 Win16 平台边界。项目目标不是重新实现一个编辑器,也不是模拟器,而是在 64 位 Windows 上构建并运行接近原始体验的早期 Microsoft Word。
适用领域
历史软件研究 / Windows 桌面应用 / C/C++ 系统编程 / Win16 到 Win32/x64 移植 / 逆向工程与兼容性工程 / 文档编辑器历史研究 / 软件考古 / 构建系统与自动化测试
配置难度
高。该项目需要熟悉 C/C++、Windows 原生开发、Visual Studio/CMake、Win32 API、历史 Win16 模型、x86 到 x64 迁移、内存模型差异以及遗留代码调试。普通应用开发者可以按 README 构建运行,但若要深入修改或贡献,需要较强的系统编程和兼容性工程能力。
商业价值
商业价值主要体现在研究、教育、软件考古、遗留系统迁移方法论和技术展示方面,而不是直接产品化。对于企业而言,它可作为分析大型历史 C 代码现代化、Win16/Win32 兼容层设计、自动化测试保护遗留行为的参考案例。但由于授权不明、历史版权复杂且项目明确偏研究用途,不建议直接用于商业发行或作为办公软件产品基础。
01
技术亮点
- 非常罕见的早期 Microsoft Word 原生 x64 移植项目,研究价值高。
- 保留原始 Word C 源码和资源作为权威实现,而非基于现代编辑控件重写。
- 不是模拟器,产物是可运行的 64 位 Windows 原生可执行文件。
- 将 16 位汇编入口点翻译为固定宽度 C/C++,有助于研究低层移植技术。
- 实现了分段内存、双重间接内存句柄到 x64 安全运行时的映射。
- 对 Win16 启动、消息、图形、文件、资源行为进行了现代 Win32 API 适配。
- CMake 构建流程包含历史资源、命令、对话框、光标、位图等资产的重新生成。
- 包含单元测试、运行时测试、冒烟测试和自动化 UI 测试,覆盖输入、选择、格式化、对话框和保存等行为。
- 项目结构清晰,区分原始源码、历史工具、移植层、构建辅助工具和测试内容。
- 适合作为遗留系统迁移、软件考古和 Windows 兼容性工程的高质量案例。
02
目标用户
- 研究早期 Windows 应用架构的开发者
- 对 Microsoft Word 历史版本感兴趣的软件考古研究者
- 学习 Win16、分段内存、x86 汇编迁移到 x64 的系统程序员
- Windows C/C++ 桌面开发者
- 编译器、运行时、兼容层方向的工程师
- 高校或个人的软件历史教学与研究用户
- 需要分析大型遗留 C 代码移植方式的开发团队
03
配置要求
- 操作系统:64 位 Windows。
- IDE/编译器:Visual Studio 2022,需安装 Desktop development with C++。
- SDK:Windows 10 SDK 或 Windows 11 SDK。
- 构建工具:CMake 3.25 或更高版本。
- Shell:PowerShell。
- 默认 CMake preset 使用 Visual Studio 2022 x64 生成器。
- 主要生成目录包括 out、build、bin,这些目录由配置和编译过程本地生成。
- 运行目标为 bin\WORD1.exe。
- 项目未提供顶层 license 文件,使用、分发源码或二进制前需要自行审查版权与授权问题。
04
适用场景
- 在 64 位 Windows 上构建并运行早期 Microsoft Word 1.1a
- 研究 Win16 应用迁移到 Win32/x64 的工程方法
- 学习如何将 16 位汇编入口点翻译为固定宽度 C/C++ 实现
- 分析早期 Word 的命令表、数据结构、资源文件和 UI 工作流
- 作为软件考古、历史应用兼容性、遗留系统现代化的案例
- 用于自动化 UI 测试、运行时兼容性测试和旧代码行为验证
- 研究复杂 CMake 构建图如何整合历史源码、资源生成工具和现代测试
05
部署与配置
- 准备 64 位 Windows 环境,建议使用 Windows 10 或 Windows 11。
- 安装 Visual Studio 2022,并勾选 Desktop development with C++ 工作负载。
- 通过 Visual Studio 安装 Windows 10 或 Windows 11 SDK。
- 安装 CMake 3.25 或更新版本。
- 打开 PowerShell。
- 执行:git clone https://github.com/jmarshall23/msword.git
- 执行:Set-Location msword\src
- 调试构建:cmake --preset x64-debug,然后执行 cmake --build --preset x64-debug。
- 运行程序:& ..\bin\WORD1.exe
- 如需 Release 构建,执行:cmake --preset x64-release,然后 cmake --build --preset x64-release,再运行 & ..\bin\WORD1.exe。
- 可选:打开 out\MicrosoftWordX64Port.sln,并将 WORD1 设为启动项目。
- 运行测试:在仓库根目录执行 ctest --test-dir .\out -C Debug --output-on-failure;Release 构建则将 Debug 替换为 Release。
06
风险与注意事项
- 仓库没有顶层 license 文件,且历史源码保留 Microsoft 和第三方版权声明,商业使用、再分发或发布二进制存在较高法律风险。
- 项目主要面向研究目的,不应默认视为可用于生产或商业发行的软件。
- 构建环境较限定,基本绑定 Windows、Visual Studio 2022、CMake 和 Windows SDK。
- 代码涉及大量历史 C、Win16 行为、x64 兼容层和构建时生成工具,维护门槛高。
- 旧版 Word 的功能、文件格式、安全模型和 UI 与现代办公软件差距很大。
- 如果需要修改原始行为,容易破坏历史兼容性或测试基线。
- 依赖自动化 UI 测试时可能受到 Windows 版本、显示设置、权限或本地环境差异影响。
- 由于是移植历史软件,可能存在未被现代安全审计覆盖的内存安全和文件处理问题。
2026-08-13
第27名
新收录 · github_search