当前位置: 华文星空 > 知识

Windows 的功能有多强大?

2020-08-25知识

前瞻性的兼容性设计。

我希望从做工程而不是用户的角度说明一下兼容性的表现。

WinSDK这东西,经常用都会发现,它极少产生更新个头文件版本,编译器版本项目就编不了或者跑不动了这样的问题,以前在别的回答下说过,写C/C++这种静态预言最奢望的就是拿过来点一下编译就能直接跑。

举个具体栗子,比如我们想更新一个类,内存布局会改变,咋办呢?没事,人家直接一发type guid + void**对指针进行操作,稍微文明一点的办法是一套链式继承12345编号排下去,看起来很蠢甚至刚学编程不久的同学都能设计出来,但是就像哥伦布说的一样:你为什么不这么做呢?仅仅这么几个操作,就能做到api说加就加老的还可以随便用,这是有极为雄厚的工程管理能力做支撑的,比如用DirectX举个栗子,现在DX12U快要面世了,从版本来说已经相当于DX15了,差距就像DX9和DX11一样大,而他们居然还能在一起跑的很开心,虽然开发者看着混乱的API已经骂娘了,但是玩家却可以毫不担心是否能带的动,只需要调调设置关掉那些高级特性就能正常使用,这不是比某些更新个系统就干掉app的公司强多了?

本人在工作中也学习了巨硬的一部分设计思想(剩下的亿部分糟粕就蒜了),带来的兼容性提升显而易见,具体表现在重构效率高,加功能迭代快上,这些思想是十分有意义的。