zoukankan      html  css  js  c++  java
  • 初识 Embedded Visual C++

     大家一定会对 Windows CE 操作系统有所耳闻,它是微软已推出的三种操作系统内核之一,是一种实时操作系统。虽然它是一种实时操作系统,但是从96年发布v1.0到现在,它的主要用途都在民用领域,比如Pocket PC、SmartPhone、Automation。不像VxWorks,应用于航空航天、军事等领域。现在linux、VxWorks厂商也都看好嵌入式民用市场,激烈竞争在所难免。我看好Windows CE,因为微软在PC领域实在太强,用户也早已熟悉了微软的产品,把PC下的技术移植到嵌入式领域,首先在操作界面方面就占了上风。
      我有幸在两年前从事Windows CE下内核定制和软件开发工作,做的项目是AutoPC。入门也不算很难,当初VC++的水平也算凑合了,所以学EVC(embedded visual c++)也比较快。做了一些软件后,又开始学习platform builder――定制内核工具。因为我们的内核是需要自己定制的,不同于Pocket PC、SmartPhone。
      未来几年在Windows CE下开发软件的需求将越来越多,我希望有兴趣的程序员能投身其中,开始程序人生新的起点。如果有时间我将在这个专栏陆续写一些关于EVC的文章,希望能够抛砖引玉。而关于platform builder的文章,如果有时间我将在中文MSDN网站上发表。
      EVC是Windows CE下软件开发工具之一,还有一个EVB,用java也可以。EVB不用说,编译出的软件肯定相对较慢。java也不是什么地方都能用,要看平台是否支持。所以我认为EVC是首选开发工具。熟悉VC的程序员要学EVC比较容易,EVC的界面和VC差不多,同样支持SDK、MFC、ATL,所以直接就能上手编写代码。但需注意的事项也不少,而且要编写和系统底层有关的程序,就必须先了解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和开发支持库

            图片1 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有很大差别。多出一些远程工具。可以用它们来访问模拟器平台,比如添加一个文件到模拟器,从模拟器复制一个文件到本地硬盘,访问模拟器的注册表,还可以对模拟器进行设置。

    图片2 tools菜单
      前面已经说了,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”。 本篇文章就写到这。如果有时间我会接着写第二篇。写作时间:2004-4-29 未经本文作者同意,不准擅自转载本篇文章。联系作者请邮至fllsoft@163.com 或 fllsoft@sina.com

  • 相关阅读:
    SDUT 2143 图结构练习——最短路径 SPFA模板,方便以后用。。 Anti
    SDUT ACM 1002 Biorhythms 中国剩余定理 Anti
    nyist OJ 119 士兵杀敌(三) RMQ问题 Anti
    SDUT ACM 2157 Greatest Number Anti
    SDUT ACM 2622 最短路径 二维SPFA启蒙题。。 Anti
    二叉索引树 区间信息的维护与查询 Anti
    SDUT ACM 2600 子节点计数 Anti
    UVA 1428 Ping pong 二叉索引树标准用法 Anti
    2010圣诞Google首页效果
    Object
  • 原文地址:https://www.cnblogs.com/googlegis/p/2979186.html
Copyright © 2011-2022 走看看