如何從開發WinXP應用程序快速轉到WinCE平臺

       前天有客戶打算找一款8寸的工業平板電腦,並且最好是X86的。後來瞭解了他的應用,原來很簡單,只是一些簡單的通信,以及幾個界面顯示。我說,用X86的電腦,成本高、維護麻煩,不是很浪費嗎?後來瞭解到他是不太熟悉WinCE應用開發。昨天他到我公司,看過我們7寸的單板電腦演示後,表示完全滿足他的需求。接着,我爲他演示瞭如何簡單的建立WinCE程序。他也表示沒有他想象中那麼複雜。

      其實Windows CE與Windows XP都出自微軟,同是“Windows”自然有很多相似之處。最重要的還是瞭解他們兩者的開發思想。

   

 

1、開發思想
  爲了好理解,下面將開發產品的電腦叫主機,被開發的設備叫從機。

  PC程序開發的主機(開發的設備)和從機(被開發的設備)是一體的,即是本身;WinCE開發的主機是PC,從機是WinCE,兩者一般通過USB同步來通訊。要建立個概念。

  這個是最重要的。有客戶直接問,是不是要在WinCE上裝一個VS2005,我並不覺得可笑。因爲一些一直從事PC上應用開發的工程師,不像我這些搞單片機過來的,他們沒有主機和從機的概念。建立這個概念,對從PC編程到WinCE開發,有很大的幫助。PC編程不需要知道SDK、主從機的概念,編譯好程序就馬上可以在本機出來。正因爲如此,他們就分不清主從機,哪個是在PC上運行,那個應該是在WinCE上跑。

  要清楚那些工具是用來開發設備程序的,那些工具是在設備上運行的。

  例如,開發工具VS2005、SDK,這個對PC編程還是WinCE開發都是運行在主機上,用於設備開發的;編譯出來的程序,以及運行這程序相關的DLL(例如開發SQL相關的程序,需要在設備上安裝SQL、.net framework ,也就是一些DLL)都是屬於設備的。對於.net framework 或者SQL,PC 和 WinCE上都有自己的版本,如PC上是SQL2000,WinCE是SQLCE3.5,這個是爲應用程序的運行服務的,歸屬於從機的概念。開發WinCE的時候,主機會下載SQLCE、.Net到WinCE上使得開發的程序運行起開(當然可以在設備上直接安裝這些或已經有了,就不用主機下載進去安裝了)。開發PC程序的時候,由於主從是一體,會看不到這個過程,導致大部分人忽略了,轉而對WinCE開發產生迷惑。

  現在的VS2005自己本身也集成了這些服務運行於設備的程序(WinCE5.0、6.0的SQLCE .NetFramework,XP的.NetFramework),當然某些還是要安裝的,例如XP的SQL2000,但其目的主要是服務用戶開發的程序,屬於設備的。

  SDK

  SDK就是軟件開發工具包,當然是屬於主機上使用的東西。PC開發無論是VS2005,或者VC6.0,安裝的時候已經包含了SDK包,因爲PC的架構(X86)系統是單一的。而WinCE設備的種類很多,無法做到單一,需要廠家提供。主機是調用這些SDK生成平臺相關的程序。然後下載到設備運行。開發示意如下圖所示。

2、開發工具

  EVC4.0 SP4  & VC6.0。早期的WinCE C++開發工具使用EVC4.0,十分類似於PC上早期常用的VC6.0。如果有VC6.0編程基礎的,使用EVC新建一個工程,一步步實現功能。參考自帶的幫助,這個也不會太難。當然,如果將VC6.0的程序直接移植到WinCE上,這個相對困難些。最好還是自己重新建一個程序。WinCE的API編程,或者MFC,功能沒有Windows XP的大,有些函數、類也被裁減了。但這些在MSDN上都有說明。另外注意的是EVC 中字符串缺省的是UNICODE編碼(即一個字符wchar_t是2個字節 typedef unsigned short wchar_t),而VC的是ASCII編碼(一個字符char 1個字節)。
  EVC現在微軟不推薦使用了,而且只能夠支持到WinCE5.0。我還是建議客戶使用VS2005。

  VS2005。VS2005不再像EVC和VC一樣,分開版本分別針對平臺;而是把各種平臺集成到一個IDE上,統一管理。對智能設備,除了他本省自帶的SDK外,用戶還可以安裝其他的SDK,在創建程序的時候,選擇相應的SDK即可。

   技術交流請加本人QQ:635958893
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章