中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

C# Windows CE特點之模塊化的示例分析

發布時間:2021-12-01 11:10:29 來源:億速云 閱讀:142 作者:小新 欄目:編程語言

小編給大家分享一下C# Windows CE特點之模塊化的示例分析,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

C# Windows CE特點之模塊化是什么呢?

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

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

在我們的培訓課上,經常有人問起Pocket PC和使用Platform Builder構建的定制設備之間的區別與聯系。簡要的回答是,它們的核心操作系統都是一樣的。因此在Pocket PC和其它C# Windows CE設備之間進行軟件移植是可行的。對于Win32程序來說,問題的關鍵在于需要有支持各種設備的函數集。如果兩個使用C# Windows CE操作系統的設備都支持同樣的Win32函數集,Win32程序或者微軟基礎類(MFC,Microsoft Foundation Class),那么程序的移植將會相當容易。跨平臺移植通常會出現兼容性問題,因為在源代碼中可能已經假定了特定的屏幕大小,特定的CPU,可安裝文件系統中特定的目錄名,或者是另一個應該在運行的時候查詢得到而非硬編碼寫入的系統狀態。

Pocket PC和Platform Builder

智能設備開發人員的問題中經常會提及Pocket PC和Platform Builder。Platform Builder可以用來為Pocket PC創建定制的操作系統映像嗎?一般說來,答案是否定的。只有開發人員使用特殊的針對Pocket PC版本開發的Platform Builder工具時,才能創建定制的Pocket PC操作系統映像。Pocket PC設備的安全性需要保障,因為在給定平臺上安裝新操作系統通常都需要了解該平臺的特定知識。

對于開發人員,給定了智能設備,C# Windows CE的可配置性就意味著可以很好地調節操作系統來包含確切需要的特性和函數集合。這一性質對于封閉平臺(只有原始開發團隊才能進行擴展的平臺)的開發人員尤其有用。

對其它軟件開發人員來說,C# Windows CE的可配置性可能會導致一些潛在的問題與危險。特別是開發人員為多種C# Windows CE平臺開發軟件時,需要考慮對于不同的平臺,哪些Win32函數是可用的。這在開發Win32程序、庫或者開發工具時都很重要。“打開文件”對話框是否存在?哪些字體是有效的?不同的設備都有什么樣的顯示屏?應該如何處理那些沒有顯示終端的平臺?

為了幫助解決這些問題,微軟在C# Windows CE 4.1的Platform Builder中定義了一套標準的軟件開發工具包(SDK,Software Development Kit)。這個SDK為進行多平臺開發提供有價值的參考資料。這一標準將幫助推進可以在多種平臺上運行的工具軟件的研制進程。這個標準SDK定義了一個大致與Pocket PC相當的平臺,盡管兩者存在一些差異。同時,它還為新平臺的開發提供了起點(大多數平臺開發人員將可以很好地調節他們的平臺,使其庫文件和函數集能夠滿足特定平臺的需要)。可以從Platform Builder導出定制的SDK,以提供針對不同平臺的庫文件和為指定平臺構建本地可運行文件所需要包含文件的集合。

C# Windows CE的可配置性對Win32程序員來說不一定是好事。伴隨著可配置性,必然會出現一些平臺可能不支持特定程序必需的特性或者函數。下面的文字介紹了某個必需的庫文件或者函數缺失時的情況。

對缺失庫和缺失函數的響應

對缺失庫或者缺失函數如何響應與調用是由Win32還是由.NET精簡框架發起有關。在本地代碼中,如果程序引用了一個缺失的DLL文件,這個程序就不能運行,或者會給用戶一條提示信息,說明找不到這個程序或者組件。

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

系統對.NET精簡框架調用缺失庫文件的要求比調用缺失函數的要求要寬松一些。當.NET精簡框架程序調用的模塊不存在時,它依然可以裝載;但是在.NET精簡框架程序中有對缺失函數的調用時,就會出現異常,如果不作處理,這個異常就會導致程序終止。

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

雖然C# Windows CE本身具有很強的可配置性,但目前版本的.NET精簡框架還不具備這一特性。也就是說,支持.NET精簡框架的任一平臺都應該能夠運行任一.NET精簡框架程序。因此,現在.NET精簡框架程序員在設計和開發軟件時暫時只考慮.NET精簡框架自身所支持的函數。

由于對.NET精簡框架類的配置是靜態的,在根據不同設備的需求進行編碼時就會有所差異。例如,Pocket PC上的程序要么是全屏運行,要么是最小化運行的;而其它使用C# Windows CE操作系統的設備則可能允許多個程序同時運行(與桌面版本的Windows類似)。另外可以看看Smartphone的例子,它體現了程序菜單的局限性,***菜單只能有兩個菜單項,而且只有右鍵菜單才能有子菜單。這些限制對維持用戶界面的一致性是必要的,因為界面提供了兩種進入程序菜單的途徑。

看完了這篇文章,相信你對“C# Windows CE特點之模塊化的示例分析”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

乃东县| 福泉市| 靖江市| 南川市| 英吉沙县| 遵化市| 精河县| 治多县| 涟源市| 建宁县| 甘泉县| 沂南县| 泽普县| 会昌县| 九寨沟县| 泰安市| 郴州市| 承德市| 安义县| 温泉县| 阳泉市| 邵武市| 临湘市| 聂荣县| 克拉玛依市| 德令哈市| 盘山县| 哈尔滨市| 铜鼓县| 寻乌县| 绥滨县| 丹凤县| 名山县| 文昌市| 三门县| 深州市| 榆中县| 呼和浩特市| 库伦旗| 蓝山县| 天峻县|