溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

C# Windows CE特點(diǎn)之兼容性的示例分析

發(fā)布時間:2021-12-01 11:13:32 來源:億速云 閱讀:145 作者:小新 欄目:編程語言

小編給大家分享一下C# Windows CE特點(diǎn)之兼容性的示例分析,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

C# Windows CE特點(diǎn)之兼容性的設(shè)計思路:

可移植性使我們可以將代碼從桌面移植到C# Windows CE中,或者在使用不同CPU的C# Windows CE設(shè)備之間進(jìn)行移植。

而編程接口的兼容性就意味著盡可能使設(shè)備接口和桌面接口保持一致。為了這一目標(biāo),C# Windows CE開發(fā)團(tuán)隊(duì)將可移植性的概念更深入了一步,使得在桌面環(huán)境和智能設(shè)備之間共享代碼盡可能的容易。

某些情況下,桌面環(huán)境和C# Windows CE的特性是一一對應(yīng)的。例如文件系統(tǒng),C# Windows CE和桌面環(huán)境都支持長文件名的分層文件系統(tǒng);支持的***文件路徑長度都是260個字符。而且,它們?yōu)楣芾硐到y(tǒng)和應(yīng)用程序設(shè)置都使用分層的注冊表。

為每個不同編程接口做出的選擇進(jìn)一步加強(qiáng)了兼容性。

由于C# Windows CE支持的Win32函數(shù)比桌面環(huán)境少,那些匹配的函數(shù)就盡可能的和桌面環(huán)境對應(yīng)的函數(shù)一樣。

例如,桌面版本的創(chuàng)建窗口(CreateWindow)函數(shù)和C# Windows CE中同一函數(shù)的參數(shù)個數(shù)和類型都是一樣的。

看起來新的操作系統(tǒng)和原來的版本保持兼容是天經(jīng)地義的,但事實(shí)通常并非如此。例如OS/2操作系統(tǒng),它是由微軟和IBM聯(lián)合開發(fā)作為Windows繼任者的。

但是Presentation Manager這一GUI編程API,則是在其原有基礎(chǔ)上與Win16 API“混合”與“改進(jìn)”而成的,結(jié)果這個新的API已經(jīng)失去了所有和Win16 API的聯(lián)系,這是完全的替代而沒有兼容。

這樣做是有問題的,因?yàn)閃in16代碼有很多,而相關(guān)的Presentation Manager代碼卻幾乎沒有。

很多開發(fā)人員發(fā)現(xiàn)要將Win16代碼移植到Presentation Manager平臺上,基本和將同樣的代碼移植到如Macintosh之類的其它GUI系統(tǒng)中的難度一樣。為了解決這一問題,微軟開發(fā)了Win32這種新的編程接口,它的首要目標(biāo)就是保持與Win16 API的一致與兼容。從這一深刻的教訓(xùn)中,我們更加深入體會了要成功升級API需要做的努力。

C# Windows CE開發(fā)團(tuán)隊(duì)受益于這次的經(jīng)驗(yàn),并且充分享受了從桌面輕松移植Win32軟件的好處。

.NET精簡框架也存在類似的兼容性問題。.NET精簡框架開發(fā)團(tuán)隊(duì)盡量保持了.NET精簡框架和.NET框架之間的一致性。這一章后面會介紹,.NET精簡框架和桌面版本有很多公共元素,如通用的命名空間、類、屬性、方法和事件等等。

以上是“C# Windows CE特點(diǎn)之兼容性的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI