开发人员揭秘了将Windows 95界面移植到Windows NT时经历的种种复杂调整过程。
微软在上世纪90年代把Windows 95的界面移植到Windows NT平台,这背后其实经历了一段复杂的技术磨合。最近,微软资深工程师雷蒙德·陈在个人博客上回顾了这段历史,给技术爱好者们揭开当年两大操作系统团队是如何协作、解决难题的。
Windows 95在1995年发布,被认为是人机交互设计的一次大飞跃。随着Windows NT 4.0开发推进,微软决定把Win95那套更现代的图形界面(GUI)搬过来,用在原本面向企业和专业用户的NT系统上。这个决定也为后来的Windows 2000打下了基础。
为了实现这一目标,两个开发团队经常开会沟通、同步进展。NT团队在Windows 95项目接近尾声时开始动手移植界面,但他们并没有直接搬用Win95的代码,而是重新实现主要功能。由于两套系统底层差异大,开发者用了#ifdef WINNT这样的编译指令来区分平台特定功能,方便后续维护。
像文件管理器Explorer这类“用户模式”组件的移植相对顺利。开发人员直接把代码拿过来,调整适配NT的标准,还顺手加上了Unicode文件名支持等NT独有的功能。有些改进甚至反向“反哺”回了Windows 95的代码库,推动两边一起进步。
雷蒙德·陈回忆说,当时微软用的源码管理工具叫Source Library Manager(SLM),工程师们还给它起了个外号叫“slime”。跟现在的git这类分支管理工具比,SLM落后不少——代码修改得手动同步到两个平台,虽然部分流程能自动化,但远不像今天合并分支这么方便。
值得一提的是,负责把Windows 95的Shell(外壳)移植到NT的,是另一位微软元老Dave Plummer。他后来还设计了Windows产品激活系统,也亲历了XP时代那个著名的FCKGW密钥外泄、绕过激活机制的“名场面”。
这次技术复盘,不只是讲一段老故事,更展现了微软在系统开发上的深厚积累,也为如今操作系统跨平台融合的发展提供了宝贵经验。






