Windows CE开发之起步停车
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
最近一段时间,移动设备开发越来越多的成为了程序员社区的话题。移动设备主要包括智能手机和PDA,是嵌入式开发中很重要的一个方向。在智能手机领域被大多数手机厂商支持的J2ME无疑是领头羊,随着多普达推出了515手机,基于微软CE平台的SmartPhone也逐渐成为关注焦点。一直不温不火的PDA市场,也在行业应用领域有所收获,Pocket PC由于其开发与Windows平台的一致性而得到了开发人员的青睐。
在长期关注程序员论坛的过程中,我发现由于Windows CE开发的独特性,加之多个版本并存、缺乏中文参考资料,所以论坛上充斥着大量相同的入门问题。我希望在这里能够为刚转入Windows CE开发的程序员明晰一些概念,将现有的Windows CE版本与开发工具之间的关系给大家解释清楚,在最后介绍一下,关于Windows CE开发的中文书籍和国外网站的情况。
Windows CE与平台开发
Windows CE是微软为嵌入式设备打造的操作系统,而嵌入式设备可谓多种多样,这就要求CE操作系统必须是可定制的,所以微软将Windows CE设计为模块化的操作系统。说简单点,我们可以把Windows CE想像成一盒积木,你可以用积木搭建出任何物体,但不一定要把所有的积木都用上。
Windows CE搭建出来的物体就是平台,是适应某种有固定标准的嵌入式设备的操作系统子集,最著名的平台就是Pocket PC了,是提供给没有键盘的掌上电脑使用的平台。由于平台和硬件的一致性,所以有时候我们也用平台的名称来称呼整个系统——硬件与操作系统的总和。
我们也可以自己开发平台,开发工具是微软提供的Platform Builder,Platform Builder的版本号是和Windows CE的版本号一致的。
更多程序员关心的是应用程序的开发,而应用程序开发是针对特定平台的,我们在开发之前必须安装目标平台的SDK,才能够开发出适应目标平台的开发工具。
Windows CE开发环境综述
初学者另外一个比较糊涂的概念是版本的问题,现在市面上能够见到Windows CE的两代产品,它们的内核分别基于Windows CE 3.0和Windows CE.NET(即4.0)。
微软将今年刚面世的Pocket PC 2003和Smart Phone 2003统称为Windows Mobile 2003,我们大多数时候还是习惯地沿用老称谓。
而市面上经常见到的Pocket PC 2002是基于Windows CE 3.0的平台,而Pocket PC 2003则是基于Windows CE.NET的平台,需要注意的是,Pocket PC 2003的内核是Windows CE.NET 4.2。而SmartPhone2003也是基于Windows CE.NET的。SmartPhone的最初版本是2002,基于Windows CE 3.0的,但是微软没有推出SmartPhone2002的中文版。
清晰了平台与CE之间的关系,解释平台与开发工具之间的关系就很容易了。微软提供给应用程序开发者的工具包括:Embedded Visual Tools 3.0,其中包括Embedded Visual C++ 3.0和Embedded Visual Basic 3.0;Embedded Visual C++ 4.0和Visual Studio.NET。
开发工具的版本号是与Windows CE的版本号对应的。EVC3.0和EVB3.0是用来开发基于Windows CE 3.0平台的应用程序的,比较常见的平台有:Pocket PC 2002、Pocket PC 2000、Palm-size PC、HPC。而EVC4.0是用来开发Windows CE.NET平台的程序的,主要包括Pocket PC 2003和SmartPhone 2003。
Visual Studio.NET针对嵌入式设备开发需要SDE的支持,而VS.NET 2003中包括了SDE,不需要另外安装。Visual Studio.NET开发的程序需要目标平台支持.NET Compact Framework。现在支持.NET Compact Framework的平台有Pocket PC 2002和Pocket PC 2003。这里需要注意的是SmartPhone 2003是不支持.NET Compact Framework的。
EVB开发入门
微软已经宣布EVB不再支持Windows CE.NET,所以EVB的最终版本是3.0。但由于EVB的易上手性和快速开发的特点,在VS.NET横空出世之前,它成为Windows CE平台上快速开发的不二之选。现在EVB仍然适合Windows CE 3.0平台上小型应用程序的快速开发。如果您不是专职的Windows CE程序员,而只是需要在Windows CE平台上开发整个系统的一部分,那么EVB可以让您用很短的时间开发出您想要的程序。
EVB的开发环境的搭建也是十分简单,您可以从微软的网站上下载EVT 2002,其中包含了EVC 3.0、EVB 3.0和Pocket PC 2002 SDK和SmartPhone 2002 SDK。按照提示将EVB和Pocket PC 2002 SDK安装好后就可以进行开发了。SDK中包含模拟器,在没有实际设备的情况下,可以利用模拟器来调试程序。
这里需要注意的是,开发环境和模拟器之间是通过网络连接协议进行通讯的,所以开发所用的计算机上必须有一个活动的网络连接。如果没有,可以安装微软的虚拟网卡,具体过程请参照我在CSDN专栏里的文章《在无网络的环境下使用模拟器》。
<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" /><shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"><stroke joinstyle="miter"></stroke><formulas><f eqn="if lineDrawn pixelLineWidth 0"></f><f eqn="sum @0 1 0"></f><f eqn="sum 0 0 @1"></f><f eqn="prod @2 1 2"></f><f eqn="prod @3 21600 pixelWidth"></f><f eqn="prod @3 21600 pixelHeight"></f><f eqn="sum @0 0 1"></f><f eqn="prod @6 1 2"></f><f eqn="prod @7 21600 pixelWidth"></f><f eqn="sum @8 21600 0"></f><f eqn="prod @7 21600 pixelHeight"></f><f eqn="sum @10 21600 0"></f></formulas><path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"></path><lock aspectratio="t" v:ext="edit"></lock></shapetype><shape id="_x0000_i1025" style="WIDTH: 306pt; HEIGHT: 102pt" type="#_x0000_t75"><img o:title="evb" src="/Develop/ArticleImages/24/24725/CSDN_Dev_Image_2004-2-231725280.jpg"><font size="3"></font></shape>
EVB的开发环境与VB类似,因为Windows CE应用程序需要在模拟器或者实际设备上调试,所以我们必须选择程序的输出目标。如果您选择了Emulation,在您按下运行(或F5)后,EVB将自动启动模拟器,并把程序下载到模拟器中。
由于新的Windows CE.NET将不再支持EVB,微软建议EVB程序员使用VB.NET开发新的程序,而对于原有的EVB程序也给出了迁移路径,关于这方面的论述,您可以参考MSDN的文章《Moving from eMbedded Visual Basic to Visual Basic .NET》。
EVC开发入门
无论是Win32平台还是WinCE平台,Visual C++都是一个强大的开发工具。而EVC也是WinCE上的主流开发工具。EVC支持MFC类库的子集,可以给开发者提供最强大的支持,也使Win32平台上的VC程序员可以很容易地迁移到WinCE平台上。但由于MFC类库需要一个DLL,所以对某些存储空间有限的嵌入式设备来说,这是个很大的负担,所以SmartPhone就不支持MFC。
<shape id="_x0000_i1029" style="WIDTH: 315pt; HEIGHT: 201.75pt" type="#_x0000_t75"><img o:title="evc" src="/Develop/ArticleImages/24/24725/CSDN_Dev_Image_2004-2-231725282.jpg"><font size="3"></font></shape>
说这么多,让我们来创建一个EVC的工程。是不是和VC很像,需要提醒大家注意的是,由于嵌入式设备支持的CPU种类很多,我们在选择创建工程类型的同时,也要把该工程所支持的CPU类型选择好。创建工程的过程和VC是一样的。当然不同的平台支持的工程类型是不同的,比如Pocket PC 2003有支持MFC和API的两种工程,而SmartPhone 2003则只有支持API的一种工程。
<shape id="_x0000_i1030" style="WIDTH: 431.25pt; HEIGHT: 62.25pt" type="#_x0000_t75"><img o:title="evc2" src="/Develop/ArticleImages/24/24725/CSDN_Dev_Image_2004-2-231725284.jpg"></shape>
EVC中比VC环境中多了一行下拉菜单的选项,分别用来选择:工程、SDK、CPU类型和输出设备。以Pocket PC为例,在实际设备上调试应该选择Win32(WCE ARMV4)Debug ,而在模拟器上则需要选择Win32(WCE emulator)Debug。
VS.net开发入门
又来到我们的.NET时间了,我怎么说又?最近大家都被JAVA和.NET搞得头昏脑胀了吧?不管大家怎么吵,.NET Compact Framework对于手中缺少开发利器的嵌入式程序员无疑是一大福音。Visual Studio .NET 2003完全支持对移动设备的开发,好了,让我们开始一段奇幻的.NET之旅吧。
<shape id="_x0000_i1026" style="WIDTH: 333pt; HEIGHT: 243pt" type="#_x0000_t75"><img o:title="net1" src="/Develop/ArticleImages/24/24725/CSDN_Dev_Image_2004-2-231725286.jpg"><font size="3"></font></shape>
打开VS.net 2003,选File - New – Project,就打开了上面的界面。让我们来建立一个Visual C#的工程,然后选择Smart Device Application,然后OK。
<shape id="_x0000_i1027" style="WIDTH: 342pt; HEIGHT: 238.5pt" type="#_x0000_t75"><img o:title="net2" src="/Develop/ArticleImages/24/24725/CSDN_Dev_Image_2004-2-231725288.jpg"><font size="3"></font></shape>
你在这里要选择目标设备:Pocket PC、SmartPhone、Windows CE(指的是其他平台),下面则是选择创建的工程类型,我们选择“Windows Application”,左边是选择的平台所支持的模拟器。最后点击OK,我们就可以进入VS.NET的主界面了。
选择输出设备的情况和EVB十分类似,只需要选择输出设备,而不用选择CPU类型。当然了,因为.NET是运行在虚拟机上的了。在CPU类型众多的嵌入式领域,.NET和JAVA才能真正发挥自己的强项。
<shape id="_x0000_i1028" style="WIDTH: 423pt; HEIGHT: 152.25pt" type="#_x0000_t75"><img o:title="net3" src="/Develop/ArticleImages/24/24725/CSDN_Dev_Image_2004-2-2317252810.jpg"><font size="3"></font></shape>
当然,我们也可以选择VB.NET作为开发智能设备的语言,情况和C#完全一样。目前智能设备开发只支持C# 和VB.NET。爱好C++的程序员可能还要等上一段时间。
分享到:
相关推荐
《Windows CE开发指南》是一本专注于Windows CE操作系统开发的实用手册,主要针对Windows CE .NET版本。这本书通过一系列实践操作,旨在帮助读者了解并掌握Windows CE .NET的主要特性。通过实际动手操作,开发者可以...
### Windows CE 开发教程知识点概览 #### 一、Windows CE 概述与特性 - **Windows CE**:是一款由微软公司开发的操作系统,专为嵌入式设备设计。它支持多种类型的处理器,并且拥有类似于桌面操作系统的特性,如多...
《Windows CE 开发初步》是针对初学者的一份详尽指南,主要涵盖了Windows CE操作系统的基础开发知识。Windows CE,全称“Windows ...这份资料将帮助你开启Windows CE开发之旅,探索这个强大的嵌入式操作系统的世界。
《Windows CE开发入门详解》 Windows CE是一种专为嵌入式设备设计的操作系统,它具有小巧、可定制、高效等特点,广泛应用于各种工业控制、移动设备、消费电子等领域。本篇将详细介绍Windows CE的开发流程及关键概念...
### Windows CE的开发工具包知识点概述 #### 一、Windows CE简介 - **定义与特点**:Windows CE是一种由微软公司开发的操作系统,专为移动设备设计,如掌上电脑等。它支持多种处理器架构,如ARM、MIPS、PowerPC等。...
《WINDOWS+CE实用开发技术》完整版电子书pdf版 该书主要涉及WinCE下的驱动开发技术 压缩文件分三部分 需下载完全才能解压: WINDOWS CE实用开发技术.zip.001 WINDOWS CE实用开发技术.zip.002 WINDOWS CE实用开发技术...
第2章 ARM基础开发 第3章 开发工具EVC的使用 第4章 Windows CE窗口和消息机制 ...第12章 Windows CE底层开发 第13章 Windows CE下的驱动开发 第13章 Windows CE下的驱动开发 第15章 Windows CE下的调试连接
2. **Embedded Visual C++ 4.0**:虽然这款工具已经被淘汰,但它曾经是开发Windows CE原生应用程序的主要工具之一。它主要支持C++语言,并且包含了一些特定于Windows CE的功能。 3. **Visual Studio .NET 2003**:...
《Windows CE高级开发指南》是一本深入探讨Windows CE操作系统开发技术的专业书籍,旨在帮助开发者掌握在Windows CE平台上进行高效、灵活的应用程序设计和系统构建。Windows CE是一个微内核的操作系统,广泛应用于...
《Windows CE 开发初步》是针对嵌入式系统开发者的一部入门教程,主要涵盖了Windows CE操作系统的基础知识,以及如何在该平台上进行应用开发。Windows CE是一个面向小型设备的操作系统,常用于掌上电脑、工业控制...
Windows CE 6.0 开发环境搭设及内核配置和应用开发 Windows CE 是一种实时操作系统,广泛应用于嵌入式系统中。为了满足不同的应用需求,Windows CE 提供了高度可定制的特性,允许开发者根据实际需求对系统进行裁剪...
《Windows CE开发指南》 Windows CE,全称Windows Embedded Compact,是微软公司推出的一个嵌入式操作系统,主要用于掌上设备、工业控制设备以及各种智能硬件。Windows CE以其灵活性、可定制性和高性能,成为了...
《WinCE_eBook》是一本专注于Windows CE开发的权威教程,涵盖了从基础知识到高级应用的全方位内容。Windows CE是一款微软公司开发的嵌入式操作系统,广泛应用于各种智能设备和工业控制系统。通过本教程,读者可以...
这个“Windows CE开发集合及源码”资源包显然包含了与Windows CE开发相关的多种材料,包括源代码、开发工具和文档。 首先,我们来探讨Windows CE的开发环境。开发者通常会使用Visual Studio或Platform Builder来...
许多开发人员都尝试了基于无线装置的软件编程,然而这些思想达于成功的关键之处在于他们能否深 入了解Windows CE 的功能和缺点。 本文就此介绍了Windows CE 的一些基本特性,并指出过渡到基于无线装置的软件开发所应...
《Windows CE开发初步》 Windows CE,全称“Windows Embedded Compact”,是微软公司推出的一款面向嵌入式系统的实时操作系统。Windows CE为各种设备提供了一个可裁剪、可扩展的平台,广泛应用于工业控制、移动设备...
Windows CE系统开发概要主要涵盖了选择Windows Embedded操作系统、Windows CE平台开发周期以及应用开发选项等关键知识点。在开发基于Windows CE的系统时,这些要素构成了整个流程的基础。 首先,选择Windows ...
在Windows CE开发的世界里,有许多值得开发者关注的要点和技巧,尤其对于新手来说,了解这些忠告至关重要。Windows CE,全称是Windows Embedded Compact,是一个轻量级的操作系统,广泛应用于移动设备、嵌入式系统和...
WINDOWS CE实用开发技术pdf.part2.rar 共五卷 很好的书关于wince ce5.0的