WinCE應用程式的開發是WinCE開發中很重要的一個環節。本文将簡單介紹一些WinCE應用程式開發的基本概念。
先說開發工具,目前用得比較多的開發工具有EVC4(SP4)、VS2005、VS2008和Platform Builder。
其中Platform Builder主要是用來定制作業系統的,雖然也支援編寫應用程式,但用得相對較少。記得沒錯的話,它還得先編譯系統,才能建立應用程式的工程。
VS2005和VS2008是微軟的集大成開發工具,PB6.0就是作為VS2005的插件安裝的(PB6.0目前應該是不支援VS2008)。在VS2005中,你可以編譯WinCE6.0的作業系統,也可以編譯裝置上的應用程式,省去了切換開發環境的麻煩。
EVC4(SP4)即嵌入式的VC,使用起來基本跟VC6.0一緻。
WinCE應用程式的開發相對桌面Windows應用程式的開發有一些特點,如下:
1. UNICODE編碼。WinCE中的應用程式隻能使用UNICODE編碼,桌面系統則支援UNICODE和ANSI碼。在移植PC端程式到裝置上時需要注意這一點。
2.SDK。SDK即軟體開發支援包,軟體開發都少不了這個,但在WinCE應用程式的開發中尤為重要。因為WinCE系統本身是一個非标的作業系統,它的元件特性和可裁剪性決定了不同的系統支援的API是不同的。而桌面系統相對标準,SDK的作用就弱化了。WinCE中的SDK由系統開發人員在編譯完系統後,通過Platform Builder導出。應用程式的開發人員安裝此SDK,并編寫應用程式,最終将應用程式下載下傳到目标平台上運作測試。一般來說,SDK是應用程式和作業系統之間的紐帶,但他們之間也并不是完全一一對應的。譬如,在硬體和作業系統都沒調試好時,我們可以先用标準的SDK或者自己定制一個模拟器的SDK進行應用程式的開發,等硬體和系統調試完成後再做聯調。應用程式基于新的SDK編譯一下,甚至無需重新編譯也可運作。當然,一個應用程式在别的裝置上跑得很好,但到另外一個裝置上卻不能工作也是很正常的。就像很多WM上的應用程式在WinCE中不能跑一樣,雖然核心相同,但系統不同,支援的API也是不同的。
最後說說開發語言,WinCE應用程式的開發有Win32、MFC和Managed等幾種方式。對于開發者來說,選擇使用哪一個主要看效能,開發的效能和運作的效能。根據能量守恒定律,開發效能和運作效能應該是一個此消彼長的關系。呵呵,跟能量守恒定律有關系麼?勉強找個有力證據吧。托管代碼的開發效率很高,但執行效率相對就低了。這在物資還不是極大豐富的嵌入式系統上,就顯得尤為突出,實時性也得不到保證。MFC是基于Window32的一個基礎類庫,封裝了很多Win32的API,友善開發者使用,但它也是有缺點的,似乎也沒再更新。Win32是這三者中最底層的一個,編譯出的程式小,沒有額外的包袱,運作起來快,是以開發的難度自然就大了,代碼量也很大。我們在開發應用程式時應根據實際情況選擇更合适的。