内页banner>

联系方式

当前位置: 首页 > 新闻动态

新闻动态Projects

联系我们Contact Us

k1体育 - k1体育官网 -k1体育十年品牌 值得信赖

电话:18015338650

联系人:周经理

邮箱:play291@sina.com

网址:k1sports-bgv.com.cn

地址:无锡市太湖大道128号

“人类历史上最伟大的软件:Windows !”

2026-11-08
5604次

本文由k1体育整理发布:

孩子想开发个RPG游戏,让我找个游戏参考,我想起了多年前玩儿过的《仙剑奇侠传》。

到Steam上找了一个,下载运行,复古的、熟悉的界面立刻出现在眼前: 《仙剑奇侠传》Windows版是1997年上市的,快30年了,它依然可以顺畅地运行在现在的Window 11之上。

这也不算啥,如果你手头有20多年前发布的Office 2000: 也可以安装在Windows 11上试试,照样能用: 除此之外,还有1995年发布著名软件Total Commander 32位,可以从Windows 95 一路运行到 Windows 11。

1998年发布的开发神器 Visual Basic 6,现在微软还在给它兜底, VB 6写出的老程序,还可以运行在Windows 11上!

2002 年经典的 Photoshop 7 ,Windows 11上还能跑: 2003 年发布的 Winamp 2.

91 在 Windows 11 上秒开,音效均衡器、EQ 调节以及经典 90 年代像素皮肤完美呈现,CPU 占用率接近 0%。

这向后兼容性可以说是无敌了!

怪不得Reddit上网友感慨道:Windows是人类历史上最伟大的软件。

0 1 微软的兼容性绝招 Windows实现这样的兼容性,可不是一件简单的事情,微软有两个绝招: 1.

为了兼容,连Bug都不放过!

有个著名的游戏叫《模拟城市》,在Windows 3.

x时代有个叫 Jon Ross 的程序员无意间写错了一段代码,导致游戏在释放了一段内存以后,依然去读取它。

这本来会导致游戏立刻崩溃,但是Windows 3.

x 系统的内存管理比较简单,内存被释放后,里面的数据并不会立刻被清除或被其他程序覆盖,所以虽然代码写错了,但依然能歪打正着地正常运行。

等到Windows 95发布的时候,引入了更现代、更严格的内存管理机制,《模拟城市》一运行就崩溃。

微软该怎么办呢?

最直接的办法就是拿起电话,给《模拟城市》的开发商 Maxis 打电话,让他们现在、立刻、马上修复漏洞。

about image

但是游戏已经通过光盘卖出去了,当时又没有网络更新,即使 Maxis 修复了 Bug 也无法解决所有的问题。

于是微软决定:保留这个Bug,直接修改 Windows 95 的代码来兼容它。

当 Windows 95 检测到《模拟城市》开始运行的时候,就自动切换到一个特殊的内存分配模式,故意延迟释放该游戏用过的内存,从而让《模拟城市》顺利运行。

还有一个著名的案例,在Windows 2000 时代,当时的 DLL 搜索规则比较简单,当前工作目录在搜索 DLL 时处于比较靠前的位置,很容易造成 DLL 劫持。

后来 Windows 改进了 DLL 搜索机制,但是许多老程序(甚至包括某些商业巨头的核心软件)在设计时,“意外”地依赖了 Windows 2000 时代不安全的搜索规则。

当它们在新的 Windows 系统上运行时,因为找不到特定位置的 DLL 直接崩溃。

微软的解决方案是:推出 Windows 2000 兼容模式。

当程序开启该模式时,会还原 Windows 2000 时代的 DLL 加载机制,甚至恢复老旧版本堆分配器(Heap Allocator),相当于把已经修复的Bug重新打开了。

你看,Windows 的向后兼容,连前任系统的缺陷和漏洞一并当成珍贵的遗产继承了下来。

2.

程序不配合?

那就想办法骗过它!

《最终幻想 7》是PlayStation 平台上的游戏,移植到 PC 平台时做得非常糟糕,在运行时甚至会检查当前操作系统是不是Windows 95。

当大量用户升级到 Windows 2000、Windows XP时,游戏出现了各个问题:第一次战斗崩溃,CG和音频异常,陆行鸟比赛时必崩。

微软的做法很简单,给《最终幻想7》配了一个叫做“Win95VersionLie”的兼容性修复,专门对这个游戏撒谎,让它“以为”自己运行在Windows 95之上。

在 Windows XP 及更早时期,大量桌面用户和应用程序运行在管理员权限下,软件可以肆无忌惮地在 C:\Program Files\MyApp\ 下创建、修改配置文件或数据库。

到了 Windows Vista,微软引入了 UAC,彻底收紧了系统盘的写入权限,非管理员权限程序是无法直接访问的。

但是如果微软严格执行这套安全规则,数以百万计写死硬编码路径的老软件会在 Vista 上瞬间报废。

微软的做法依然是“欺骗”,假装允许访问这些系统盘,但实际上写到别的目录。

0 2 干脆整个框架吧!

兼容性问题越来越多,也总不能一直往 Windows 核心源码中加if else (特例)吧?

于是从Windows XP 开始,微软干脆搞了一个叫做应用程序兼容性框架的东西。

这套框架会在老程序和 Win

更多体育热点,关注k1体育。

关于我们
走进我们
产品中心
新闻资讯
新闻动态

k1体育 - k1体育官网 -k1体育十年品牌 值得信赖

电话:18015338650

联系人:周经理

邮箱:play291@sina.com

网址:k1sports-bgv.com.cn

地址:无锡市太湖大道128号

在线留言

  • 体验移动端

    体验移动端

  • 联系客服

    联系客服