日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
C#WindowsCE特點(diǎn)之模塊化

C# Windows CE特點(diǎn)之模塊化是什么呢?

C# Windows CE是模塊化的,這對(duì)可配置的操作系統(tǒng)來說是必要的。桌面版本的Windows是作為獨(dú)立的文件集來開發(fā)和使用的,然而C# Windows CE本身就是由一些模塊(像.exe的應(yīng)用程序文件和像.dll的庫文件等)組成的,一些模塊又是由兩個(gè)或者更多的組件(每個(gè)組件包含Win32的某些函數(shù)或者操作系統(tǒng)的某些特性)組成的。

在開發(fā)團(tuán)隊(duì)設(shè)計(jì)新的設(shè)備時(shí),可以使用微軟一種叫做Platform Builder7的工具。Platform Builder允許第三方根據(jù)特定智能設(shè)備的需求,通過增加或者減少各種模塊來定制其操作系統(tǒng)。構(gòu)建平臺(tái)時(shí),需要“打開文件”和“保存文件”的對(duì)話框嗎?它有一個(gè)這樣的模塊;需要顯示驅(qū)動(dòng)和網(wǎng)絡(luò)驅(qū)動(dòng)嗎?Platform Builder可以讓你很好的調(diào)節(jié)操作系統(tǒng)的要素,以便你能夠擁有你所需要的內(nèi)容。.NET精簡(jiǎn)框架自身也是這些可調(diào)的Platform Builder組件之一,也就是說,客戶設(shè)備也可以在其ROM8映像中包含.NET精簡(jiǎn)框架。例如,Pocket PC 2003就將.NET精簡(jiǎn)框架作為一個(gè)內(nèi)建組件。

在我們的培訓(xùn)課上,經(jīng)常有人問起Pocket PC和使用Platform Builder構(gòu)建的定制設(shè)備之間的區(qū)別與聯(lián)系。簡(jiǎn)要的回答是,它們的核心操作系統(tǒng)都是一樣的。因此在Pocket PC和其它C# Windows CE設(shè)備之間進(jìn)行軟件移植是可行的。對(duì)于Win32程序來說,問題的關(guān)鍵在于需要有支持各種設(shè)備的函數(shù)集。如果兩個(gè)使用C# Windows CE操作系統(tǒng)的設(shè)備都支持同樣的Win32函數(shù)集,Win32程序或者微軟基礎(chǔ)類(MFC,Microsoft Foundation Class),那么程序的移植將會(huì)相當(dāng)容易??缙脚_(tái)移植通常會(huì)出現(xiàn)兼容性問題,因?yàn)樵谠创a中可能已經(jīng)假定了特定的屏幕大小,特定的CPU,可安裝文件系統(tǒng)中特定的目錄名,或者是另一個(gè)應(yīng)該在運(yùn)行的時(shí)候查詢得到而非硬編碼寫入的系統(tǒng)狀態(tài)。

Pocket PC和Platform Builder

智能設(shè)備開發(fā)人員的問題中經(jīng)常會(huì)提及Pocket PC和Platform Builder。Platform Builder可以用來為Pocket PC創(chuàng)建定制的操作系統(tǒng)映像嗎?一般說來,答案是否定的。只有開發(fā)人員使用特殊的針對(duì)Pocket PC版本開發(fā)的Platform Builder工具時(shí),才能創(chuàng)建定制的Pocket PC操作系統(tǒng)映像。Pocket PC設(shè)備的安全性需要保障,因?yàn)樵诮o定平臺(tái)上安裝新操作系統(tǒng)通常都需要了解該平臺(tái)的特定知識(shí)。

對(duì)于開發(fā)人員,給定了智能設(shè)備,C# Windows CE的可配置性就意味著可以很好地調(diào)節(jié)操作系統(tǒng)來包含確切需要的特性和函數(shù)集合。這一性質(zhì)對(duì)于封閉平臺(tái)(只有原始開發(fā)團(tuán)隊(duì)才能進(jìn)行擴(kuò)展的平臺(tái))的開發(fā)人員尤其有用。

對(duì)其它軟件開發(fā)人員來說,C# Windows CE的可配置性可能會(huì)導(dǎo)致一些潛在的問題與危險(xiǎn)。特別是開發(fā)人員為多種C# Windows CE平臺(tái)開發(fā)軟件時(shí),需要考慮對(duì)于不同的平臺(tái),哪些Win32函數(shù)是可用的。這在開發(fā)Win32程序、庫或者開發(fā)工具時(shí)都很重要?!按蜷_文件”對(duì)話框是否存在?哪些字體是有效的?不同的設(shè)備都有什么樣的顯示屏?應(yīng)該如何處理那些沒有顯示終端的平臺(tái)?

為了幫助解決這些問題,微軟在C# Windows CE 4.1的Platform Builder中定義了一套標(biāo)準(zhǔn)的軟件開發(fā)工具包(SDK,Software Development Kit)。這個(gè)SDK為進(jìn)行多平臺(tái)開發(fā)提供有價(jià)值的參考資料。這一標(biāo)準(zhǔn)將幫助推進(jìn)可以在多種平臺(tái)上運(yùn)行的工具軟件的研制進(jìn)程。這個(gè)標(biāo)準(zhǔn)SDK定義了一個(gè)大致與Pocket PC相當(dāng)?shù)钠脚_(tái),盡管兩者存在一些差異。同時(shí),它還為新平臺(tái)的開發(fā)提供了起點(diǎn)(大多數(shù)平臺(tái)開發(fā)人員將可以很好地調(diào)節(jié)他們的平臺(tái),使其庫文件和函數(shù)集能夠滿足特定平臺(tái)的需要)??梢詮腜latform Builder導(dǎo)出定制的SDK,以提供針對(duì)不同平臺(tái)的庫文件和為指定平臺(tái)構(gòu)建本地可運(yùn)行文件所需要包含文件的集合。

C# Windows CE的可配置性對(duì)Win32程序員來說不一定是好事。伴隨著可配置性,必然會(huì)出現(xiàn)一些平臺(tái)可能不支持特定程序必需的特性或者函數(shù)。下面的文字介紹了某個(gè)必需的庫文件或者函數(shù)缺失時(shí)的情況。

對(duì)缺失庫和缺失函數(shù)的響應(yīng)

對(duì)缺失庫或者缺失函數(shù)如何響應(yīng)與調(diào)用是由Win32還是由.NET精簡(jiǎn)框架發(fā)起有關(guān)。在本地代碼中,如果程序引用了一個(gè)缺失的DLL文件,這個(gè)程序就不能運(yùn)行,或者會(huì)給用戶一條提示信息,說明找不到這個(gè)程序或者組件。

如果本地調(diào)用的所有必需的DLL都存在,但是某些引用的函數(shù)不存在,那情況就又不一樣了。調(diào)用缺失函數(shù)會(huì)出現(xiàn)異常,但如果沒有運(yùn)行調(diào)試器(運(yùn)行調(diào)試器時(shí),異常會(huì)中斷調(diào)試器),這個(gè)異常就會(huì)被忽略。

系統(tǒng)對(duì).NET精簡(jiǎn)框架調(diào)用缺失庫文件的要求比調(diào)用缺失函數(shù)的要求要寬松一些。當(dāng).NET精簡(jiǎn)框架程序調(diào)用的模塊不存在時(shí),它依然可以裝載;但是在.NET精簡(jiǎn)框架程序中有對(duì)缺失函數(shù)的調(diào)用時(shí),就會(huì)出現(xiàn)異常,如果不作處理,這個(gè)異常就會(huì)導(dǎo)致程序終止。

對(duì).NET精簡(jiǎn)框架程序員來說,操作系統(tǒng)的可配置所帶來的潛在問題還不能算是太大的問題。這些問題現(xiàn)在還不能徹底消失,是因?yàn)?NET精簡(jiǎn)框架庫必須存在對(duì)最小Win32特性集的支持9。然而一旦跨過了這個(gè)極限,這對(duì).NET精簡(jiǎn)框架程序員就不再是問題了?,F(xiàn)在這個(gè)問題依然存在,也是因?yàn)?NET精簡(jiǎn)框架程序可以通過平臺(tái)調(diào)用(P/Invoke,Platform Invoke,本書將在第四章介紹)直接調(diào)用本地的DLL文件。

雖然C# Windows CE本身具有很強(qiáng)的可配置性,但目前版本的.NET精簡(jiǎn)框架還不具備這一特性。也就是說,支持.NET精簡(jiǎn)框架的任一平臺(tái)都應(yīng)該能夠運(yùn)行任一.NET精簡(jiǎn)框架程序。因此,現(xiàn)在.NET精簡(jiǎn)框架程序員在設(shè)計(jì)和開發(fā)軟件時(shí)暫時(shí)只考慮.NET精簡(jiǎn)框架自身所支持的函數(shù)。

由于對(duì).NET精簡(jiǎn)框架類的配置是靜態(tài)的,在根據(jù)不同設(shè)備的需求進(jìn)行編碼時(shí)就會(huì)有所差異。例如,Pocket PC上的程序要么是全屏運(yùn)行,要么是最小化運(yùn)行的;而其它使用C# Windows CE操作系統(tǒng)的設(shè)備則可能允許多個(gè)程序同時(shí)運(yùn)行(與桌面版本的Windows類似)。另外可以看看Smartphone的例子,它體現(xiàn)了程序菜單的局限性,***菜單只能有兩個(gè)菜單項(xiàng),而且只有右鍵菜單才能有子菜單。這些限制對(duì)維持用戶界面的一致性是必要的,因?yàn)榻缑嫣峁┝藘煞N進(jìn)入程序菜單的途徑。

C# Windows CE特點(diǎn)之模塊化的基本情況就向你介紹到這里,希望對(duì)你學(xué)習(xí)C# Windows CE特點(diǎn)有所幫助。


網(wǎng)頁標(biāo)題:C#WindowsCE特點(diǎn)之模塊化
URL分享:http://m.5511xx.com/article/coeoedd.html