當前位置: 華文星空 > 知識

Windows 的功能有多強大?

2020-08-25知識

前瞻性的相容性設計。

我希望從做工程而不是使用者的角度說明一下相容性的表現。

WinSDK這東西,經常用都會發現,它極少產生更新個表頭檔版本,編譯器版本專案就編不了或者跑不動了這樣的問題,以前在別的回答下說過,寫C/C++這種靜態預言最奢望的就是拿過來點一下編譯就能直接跑。

舉個具體栗子,比如我們想更新一個類,記憶體布局會改變,咋辦呢?沒事,人家直接一發type guid + void**對指標進行操作,稍微文明一點的辦法是一套鏈式繼承12345編號排下去,看起來很蠢甚至剛學編程不久的同學都能設計出來,但是就像哥倫布說的一樣:你為什麽不這麽做呢?僅僅這麽幾個操作,就能做到api說加就加老的還可以隨便用,這是有極為雄厚的工程管理能力做支撐的,比如用DirectX舉個栗子,現在DX12U快要面世了,從版本來說已經相當於DX15了,差距就像DX9和DX11一樣大,而他們居然還能在一起跑的很開心,雖然開發者看著混亂的API已經罵娘了,但是玩家卻可以毫不擔心是否能帶的動,只需要調調設定關掉那些高級特性就能正常使用,這不是比某些更新個系統就幹掉app的公司強多了?

本人在工作中也學習了巨硬的一部份設計思想(剩下的億部份糟粕就蒜了),帶來的相容性提升顯而易見,具體表現在重構效率高,加功能叠代快上,這些思想是十分有意義的。