WinCE應用程序的開發
WinCE應用程序的開發是WinCE開發中很重要的一個環節。本文將簡單介紹一些WinCE應用程序開發的基本概念。
本文引用地址:http://www.104case.com/article/201609/304833.htm先說開發工具,目前用得比較多的開發工具有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是這三者中最底層的一個,編譯出的程序小,沒有額外的包袱,運行起來快,所以開發的難度自然就大了,代碼量也很大。我們在開發應用程序時應根據實際情況選擇更合適的。
評論