999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Windows CE平臺下排隊機呼叫系統的移植研究

2010-04-12 00:00:00封岸松
現代電子技術 2010年2期

摘 要:Windows CE作為一種嵌入式系統在實際應用中取得了良好的效果。為了縮短嵌入式軟件的開發周期,節約成本,滿足日益增大的嵌入式系統應用軟件需求,探討程序移植方法在嵌入式軟件開發中的可行性。介紹一種將現有的Windows程序移植到Windows CE平臺的方案,該方案在原有的Windows程序基礎上,通過調整字符長度,修改Windows CE平臺不兼容的MFC和API函數,實現了嵌入式軟件的移植。采用該方案成功地將一套Windows平臺下排隊機呼叫系統移植到Windows CE平臺上,實現了其原有的功能。實踐表明程序移植是進行嵌入式軟件開發的一種行之有效的方法。

關鍵詞:系統移植;Windows CE;Unicode;嵌入式系統

中圖分類號:TP311文獻標識碼:A

文章編號:1004-373X(2010)02-028-03

Transplanting Research of the Queue Call System on Windows CE Platform

FENG Ansong,CHEN Gu,WANG Ying

(Shenyang Institute of Chemical Technology,Shenyang,110142,China)

Abstract:Windows CE as an embedded system in practical applications has achieved good results.In order to shorten embedded software development cycle,save costs and meet the growing demand for embedded systems applications,the possibility of transplant procedures in the embedded software,and a program of transplanting a Windows program into Windows CE platform are presented.Based on the original Windows program,the embedded software transplant is achieved,by adjusting the length of characters and modifying the MFC and API functions.Through the method,a queue system is transplanted to the Windows CE platform,and its original functions are realized.This example shows that the transplant procedure is the development of embedded software for an effective method.

Keywords:system transplant;Windows CE;Unicode;embedded system

收稿日期:2009-09-21

0 引 言

隨著嵌入式技術的不斷發展和完善,各種嵌入式系統得到廣泛的應用,Windows CE以其對設備的完善支持和良好的用戶界面得到眾多廠商的青睞,在Windows CE下快速開發應用程序成為各個公司廣泛關注的問題。由于現有的Windows程序不能直接在Windows CE平臺上運行,將現有的Windows程序移植到Windows CE下成為嵌入式軟件開發的一種現實而有效的方法。

Windows CE提供了EVB,EVC和Visual Studio等多種嵌入式的開發工具,在此將介紹VC程序向EVC中移植的具體的實現過程。EVC是Microsoft專門提供的一種嵌入式開發工具,與傳統的Visual C++相比,EVC支持大多數的MFC和ATL類,包含標準的Win32 API子集,而且EVC為各種不同的硬件設備提供了不同的編譯器,能夠快速地進行嵌入式應用程序開發\\。

1 移植要點

Windows CE是一種Unicode環境。它支持ASCII函數以實現文本文件交換,但其原有的文本格式是Unicode\\。所以必須將ASCII應用程序轉換為Unicode程序。

Windows CE API是Win32 API的一個子集,而且其中部分函數的功能已精簡,當從PC平臺移植已有的Win32應用程序到Windows CE時,應當檢查相關的API函數是否被Windows CE平臺所支持\\,對于不被支持的API函數應當精簡相關的功能。

基于Windows CE 的MFC設計遵循了標準MFC的功能和特性,但是它們在所提供的類和類的功能上還是有很大的不同。對于用標準MFC編寫的應用程序,在移植的過程中要檢查使用的類、方法和屬性在Windows CE中是否兼容\\。

大多數標準的Windows控件和公用控件仍然被支持,但是有一定的限制。Windows CE下使用ActiveX控件與Windows下不同之處是要編譯兩個版本的OCX,一個安裝到Windows上,這樣就可以在EVC環境下使用該OCX進行編程,一個安裝到WinCE上,用于使用這個OCX的程序調用。

VC程序是面向Win32平臺開發的,而EVC是面對具體各種不同的硬件環境的,可以通過Platform Builder定制不同的硬件環境下的SDK。程序的開發和調試過程可以在Windows CE仿真環境下進行\\。但是由于受到硬件環境的制約,Windows CE必須精簡部分功能,簡化操作界面:例如由于Windows CE屏幕大小的限制\\,Windows CE的命令欄包含了Windows中的工具和菜單欄,但是命令欄沒有停靠功能,被指定在屏幕的頂部,并且具有一個新的API。

2 實例分析

在此將一套Windows環境下運行的排隊機系統移植到Windows CE環境下。

2.1 排隊機系統介紹

排隊機系統是一種綜合運用計算機技術、網絡技術、多媒體技術、通訊控制技術的高新技術產品,能有效地代替客戶進行排隊,適用于各類窗口服務行業,目前已經廣泛應用于銀行、醫院等行業。使用排隊機系統,一方面可消除客戶長時間“站隊”的辛苦、對“站錯隊”、“插隊”的抱怨,全面改善服務質量和企業形象,另一方面可以依據統計數據調整業務分配、挖掘潛力、合理安排窗口服務,減少客戶的等候時間,提高辦事效率。排隊機程序在運行時的流程圖如圖1所示。

圖1 排隊機呼叫系統業務流程

2.2 硬件環境

這里使用的嵌入式平臺是廣州友善之臂的QQ2440V3,它采用Samsung S3C2440為微處理器,集成了多種設備接口,外接LCD觸摸顯示屏,并采用專業穩定的CPU內核電源芯片和復位芯片來保證系統運行時的穩定性。相比較以往的Windows平臺,基于ARM的嵌入式平臺具有體積小、功耗低、處理能力強等諸多優點。

圖2是排隊機的硬件組成情況。

2.3 移植實例

移植時EVC提示的錯誤分類及相對應的解決方法如下:

Error C2664: ′void_cdecl CString::Format (const unsigned short *...)′: cannot convert parameter 1 from ′char [17]′ to ′const unsigned short *′

Error C2664: ′strcpy′:cannot convert parameter 1 from ′unsigned short [14]′ to ′char *′

圖2 排隊機硬件組成

類似錯誤是移植過程中出現最多的一類錯誤,Windows CE系統是一個基于Unicode編碼的系統,在移植過程中可以使用TEXT宏和_T宏進行字符串映射,將相對應的ASCII數據轉換成對應得Unicode形式\\。如果使用C Runtime Library中的字符串處理function,那么就要改為wcs打頭而不是以str打頭,例如“strcpy”→“wcscpy”,在Windows CE中有專門向對應的寬字符處理函數對字符串進行處理。

Error C2039: ′Format′: is not a member of ′CTime′

查閱EVC中MSDN關于CTime 類的說明:MFC for Windows CE does not support the following methods of the CTime class:GetGmtTm;Format;Format_Gmt。有些類在Windows下的功能在Windows CE下就不被支持,在調試的過程中就必須根據實際情況做出調整。例如上面的CTime類中的Format子類在Windows CE下就不被支持,為了程序的正常運行必須刪除這個子類\\。相對應的程序在此處的功能就被精簡。

Fatal error C1189:#error:Database classes not supported in this library variant

因為ODBC不支持Unicode,所以MFC中數據庫的類不是完全支持的,在Windows CE中使用數據庫時必須使用Microsoft專門提供的SQLCE來實現\\。在Windows CE下訪問SQLCE數據庫時,不僅要在Windows上的包含必須ADOCE的頭文件和相關數據庫操作類的支持,而且在Windows CE運行的硬件平臺上還要注冊相關的OCX和一些必須的動態鏈接庫,只有這樣才能正常地訪問數據庫\\,下面的代碼為作者編寫的注冊OCX程序:

BOOL CDBaseDaraSql::RegisterOCX (CString pszDLLName)

HINSTANCE hLib=LoadLibrary (pszDllName);

FARPROC lpDllEntryPoint;

LpDllEntryPoint=GetProcAddress (hLib,_T (\"DllRegisterServer\"));

而運行SQLCE時所需要的動態鏈接庫如下所示:

PathDes [0]= L\"\\\\Windows\\\\adoce31.dll\";

PathDes [1]= L\"\\\\Windows\\\\adoxce31.dll\";

PathDes [2]= L\"\\\\Windows\\\\msdaer.dll\";

PathDes [3]= L\"\\\\Windows\\\\msdaosp.dll\";

PathDes [4]= L\"\\\\Windows\\\\ssce20.dll\";

PathDes [5]= L\"\\\\Windows\\\\ssceca20.dll\";

PathDes [6]= L\"\\\\Windows\\\\ssceerror20en.dll\";

PathDes [7]= L\"\\\\Windows\\\\msdaeren.dll\";

PathDes [8]= L\"\\\\Windows\\\\msdaeres.dll\";

PathDes [9]= L\"\\\\Windows\\\\msdaerde.dll\";

PathDes [10]= L\"\\\\Windows\\\\adocedb31.dll\";

PathDes [11]= L\"\\\\Windows\\\\adoceoledb31.dll\";

只有在注冊相關的動態鏈接庫后才能在設備上建立SQLCE下的數據庫文件,圖3是在設備上注冊相關組件后使用ISQLW 2.0創建的數據庫文件。

圖3 數據庫的創建

將上面提到的地方進行修改后程序能夠正常在QQ2440V3的平臺上運行,基本保證了原有排隊機功能。

3 結 語

在掌握兩種操作系統的區別后能很快地實現Windows程序向Windows CE平臺的移植,能使軟件開發人員快速地掌握嵌入式軟件開發,給嵌入式軟件開發提供了一個快捷而有效的方法。

參考文獻

[1]傅曦,齊宇.嵌入式系統Windows CE開發技巧與實例[M].北京:化學工業出版社,2003.

[2]周立功.ARM WinCE實驗與實踐:基于S3C2410[M].北京:北京航空航天大學出版社,2007.

[3]周毓林.Windows CE.NET內核定制及應用開發[M].北京:電子工業出版社,2005.

[4]Nick Grattan Marshall Brain.Windows CE 3.0 Application Programming[S].Prentice Hall PTR,2000.

[5]Mike Thomson.Windows CE.NET Real_time[N].2003.

[6]田東風.Windows CE 應用程序設計[M].北京:機械工業出版社,2003.

[7]張湘,肖建.嵌入式系統和嵌入式操作系統[EB/OL].中國機電一體化網,2004.

[8]杜春雷.ARM體系結構與編程[M].北京:清華大學出版社,2003.

[9]周振喜,戴國俊.Windows應用程序移植到Windows CE下的策略[J].計算機工程與設計,2004(9):1 560_1 562,1 571.

[10]汪兵,李存斌,陳鵬.EVC高級編程及其應用開發[M].北京:中國水利水電出版社,2005.

主站蜘蛛池模板: 情侣午夜国产在线一区无码| 亚洲高清资源| 欧美成人一区午夜福利在线| 日本欧美一二三区色视频| 亚洲日韩AV无码精品| 国产噜噜噜| 久久一色本道亚洲| 国产自视频| 在线国产你懂的| 三级国产在线观看| 99精品在线看| 韩国自拍偷自拍亚洲精品| 日韩精品免费一线在线观看| 久草视频一区| av免费在线观看美女叉开腿| 国产精品男人的天堂| 狠狠色丁婷婷综合久久| 色婷婷成人| 国产极品美女在线播放| 国产噜噜在线视频观看| 免费中文字幕在在线不卡| 999精品在线视频| 国产97视频在线| 超碰91免费人妻| 天天综合色网| 成人欧美在线观看| 一本视频精品中文字幕| 亚洲人成色在线观看| 成人国产一区二区三区| 91精品情国产情侣高潮对白蜜| 国产99精品久久| 国产综合另类小说色区色噜噜| 日韩欧美色综合| 视频国产精品丝袜第一页| 色婷婷亚洲十月十月色天| 中文字幕天无码久久精品视频免费| 麻豆精品在线播放| 欧美日韩国产在线观看一区二区三区| 日韩东京热无码人妻| 最新日韩AV网址在线观看| 亚洲日韩日本中文在线| 久久亚洲中文字幕精品一区| 无码国产伊人| 亚洲综合色区在线播放2019| a级毛片视频免费观看| 亚洲国产看片基地久久1024| 国产成人综合日韩精品无码不卡| 91精品专区国产盗摄| 亚洲AⅤ永久无码精品毛片| 亚洲日韩精品综合在线一区二区| 免费aa毛片| 欧美日韩国产精品综合 | 2022国产无码在线| 高清无码手机在线观看| 九九热精品视频在线| 成人小视频网| 亚洲成人黄色在线| 久久亚洲日本不卡一区二区| 亚洲欧美精品在线| 在线看片中文字幕| 麻豆AV网站免费进入| 日韩第一页在线| 亚洲乱强伦| 国产毛片不卡| 青青青国产视频手机| 亚洲精品黄| 亚洲综合片| 午夜三级在线| 伊大人香蕉久久网欧美| 一区二区三区精品视频在线观看| 国产交换配偶在线视频| 欧美精品在线看| 99在线视频网站| 国产毛片网站| 夜色爽爽影院18禁妓女影院| 亚洲欧洲日韩久久狠狠爱| 久久精品国产免费观看频道| 国产在线98福利播放视频免费| 日韩福利在线观看| 在线观看网站国产| 亚洲人成网站在线播放2019| 欧美不卡二区|