关于EVC[转]

来源:互联网 发布:测试网络丢包命令 编辑:程序博客网 时间:2024/05/21 14:53
闻香止步
淘宝店 饰品 *木雕系列*:檀木、黄杨木、桃木发簪 樟木壁挂 佛珠

http://shop36570193.taobao.com

朋友,有空来看看,喜欢的朋友请收藏

要编写和系统底层有关的程序,就必须先了解Windows CE的特征,建议你先学习《Windows 核心编程》,然后再看看Windows CE的帮助文档,了解CE的操作系统特征。为什么这么建议呢,如果不熟悉Windows 核心编程的知识,而直接看Windows CE的英文帮助相关部分,那很难能看懂。
1、在PC下安装EVC 4.0。
  如果你要问我从哪能弄到EVC,这我无法告诉你,我用的是公司买的,EVC+PB(platform builder)一套要N万元。Windows CE的开发模式一般是在PC下编程,然后通过网卡或串口下载到实际的硬件平台上调试。但EVC提供了一个模拟器,这样就可以不用将编译完的程序下载到实际平台上调试。即使这样也不要高兴太早,模拟器只能调试最简单的程序。稍复杂的程序,尤其是操作硬件的程序就必须下载到实际硬件平台上调试。

  在PC下安装EVC4.0和安装普通的软件一样,按照安装向导提示,先安装platform manager(平台管理器,必须使用这个工具),再安装EVC(IDE部分),接着安装standard SDK(模拟器使用的SDK),最后安装SP(service pack)。我每次都是先安装PB(platform builder),再安装EVC(注意:安装PB不是必要的)。

  整个安装过程中必须注意的事项:A、不要改动PB和EVC默认的安装路径。因为改变了默认安装路径,即使安装向导提示安装成功,也不能保证你能够成功启动PB或EVC。启动PB或EVC时会提示你某个组件没安装,但实际上已经安装了。B、在安装向导向你询问选择哪些CPU时,只选择x86和emulator。C、EVC4.0自带了SP1,现在有SP2(微软网站提供免费下载),如果想安装SP2,在安装开始时就不要选择安装SP1,安装完毕后,自行安装SP2。 D、PC操作系统可以是windows 2000、windows xp、windows 2003。E、无论出于什么原因,如果你第一次安装EVC失败了,那么以后再安装也很难成功,因为EVC的卸载也不是很干净,很多注册信息仍留在注册表中。我的解决办法是重装操作系统,当然,克隆会更快。祝愿你一次安装成功。

2、IDE和开发支持库

   启动EVC后,你会发现整个IDE界面和VC基本一致,让你有了驾驭它的信心,IDE部分我不想多说,只提和VC不同的地方。A、“WCE configuration”工具栏和VC的略有差别,左数第三个下拉框有多个选择,用于选择基于哪个平台编译。如果你在安装时只选择了x86和emulator,那么这里就有四个选项:Win32 [WCE emulator] Debug/Release和Win32 [Wce x86] Debug/Release 。当前你只能选择emulator,也就是程序编译出来在模拟器上运行。B、工具菜单(tools)的内容和VC有很大差别。多出一些远程工具。可以用它们来访问模拟器平台,比如添加一个文件到模拟器,从模拟器复制一个文件到本地硬盘,访问模拟器的注册表,还可以对模拟器进行设置。

    前面已经说了,SDK、MFC、ATL都能在EVC下使用。但里面的内容不可能和VC的完全一致。相比较有多有少,这是根据Windows CE的特征来决定的。比如MFC没有CRichEdit类,没有CHtmlView类等等,但比VC多出了CCeSocket类。其实对于程序员来说,开发支持库的变化无所谓,只要有开发资料,有帮助文档,就OK了。EVC在安装后,并没有产生EVC的帮助文件的快捷方式,如果你装在C盘,那帮助文件路径为:
"C:/Windows CE Tools/eVC4/Htmlhelp/emtools/evc4help.chm"。这个目录帮助文件很多,这个是主要的文件,它可以链接到其它帮助文件。另外在开发前还要注意一些事项。A、Windows CE中预定义了_UNICODE宏,所以CString 类的字符都是unicode码,在将字符串赋值给CString对象前一定要加上 _T() 或 TEXT() 宏,这两个宏在预定义了_UNICODE情况下,将字符串每个字符转变成宽字符。也可以在字符串前面加“L”将每个字符转变成宽字符。B、安装的standard SDK内容较少,所以如果在编译程序时出现错误,比如链接错误,别忘了出错原因可能是编码的错,也可能是SDK不支持。要全部的支持就必须安装PB。C、默认情况下模拟器不支持中文,所以中文显示为乱码。D、使用开发向导,比如“WCE MFC AppWizard”时,在选择资源对应的语言时,并没有中文,所以你必须在应用程序向导生成工程文件后,手工去更改资源的对应语言,要显示中文,这一步必须做。
注:我记得在网上看到过模拟器支持中文方法。你可以到一些嵌入式开发网站寻找。

3、编写、调试程序


  使用应用程序向导(AppWizard)生成框架,然后编码。或者不使用向导直接编码,在这里我就不多说了,和在VC下操作一样。我在这里只说一下调试方法。


  假设编写好了代码,先要在“WCE configuration”工具栏上的第三个下拉框中选择“Win32 [WCE emulator] Debug”(如果代码没问题,选择Win32 [WCE emulator] Release)。接着单击“WCE configuration”工具栏上的执行或调试按钮。这时会显示一个进度条,说明模拟器正在启动,并加载要调试的程序,直到Windows CE桌面和应用程序界面显示出来。在模拟器中可以直接用鼠标和键盘操作。在下次调试前,一定要先关闭正调试的应用程序,否则模拟器提示出错。
注:模拟器安装成功,在“本地连接”的属性对话框中,会多出一项:“virtual PC Emulated Ethernet Switch”。

 
 
一、使用的编码方式不一样。

1、原因:EVC要使用Unnicode,而VC6通常使用的是Ansi(当然使用Unicode会更好)。这主要是因为EVC对应的  是WinCE或Poket PC而开发,VC6对应Win98/95或以上系统。


2、使用:在定义字符或字符串时要用wchar_t,TCHAR等,使用时记得使用_T(""),不然就会出错的了。还要注意一字函数的变化,如下表(还有哦):

NOT UNICODE

TCHAR

UNICODE

atof

_tstof

_wtof

atoi

_tstoi

_wtoi

_atoi64

_tstoi64

_wtoi64

atol

_tstol

_wtol

atoi

_ttoi

_wtoi

sprintf

_ttoi64

swprintf


二、EVC不支持绝对路径,比如:"C://"这种是不支持的,所以不支持GetCurrentDirectory()函数。但支持相对路径和网络路径。你可以这样写:"//myWinCE/Share/data.txt"。如果是网络路径则在前面加上"/network",如:"/network/WinCE/Share/data.txt"。

原创粉丝点击