您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > Chapter6-基于WINDOWSCE的应用
第6章基于WINDOWSCE的应用程序开发主要内容•WindowsCE应用程序开发的几点说明•应用程序开发流程•WindowsCE的应用编程接口•应用程序编程实例第一节WindowsCE应用程序开发的几点说明6.1.1应用程序开发的界定•在WindowsCE下,应用程序开发(ApplicationDevelopment)是针对驱动和内核而言的。应用程序开发是指针对给定的WindowsCE平台,利用该平台提供的编程接口,使用特定工具,实现特定功能的程序设计活动。•在此概念中,有3个须注意的地方:•●特定的WindowsCE平台;•●平台提供的编程接口;•●特定的工具。6.1.2基于WindowsCE的平台介绍WindowsEmbedded是微软的Windows产品在嵌入式领域的应用品牌,它并不是一个产品的名称。目前使用WindowsEmbedded品牌的产品有两个,分别是WindowsCE和WindowsXPEmbedded。而我们经常听说的WindowsMobile则是基于WindowsCE的一个移动智能设备品牌,也不是产品名称。使用WindowsMobile品牌的产品有两个,PocketPC和Smartphone。PocketPC是基于WindowsCE的PDA专用平台;Smartphone则是基于WindowsCE,并且增加了通信等模块,为智能手机专门开发的平台。WindowsCE应用程序开发工具•PlatformBuilder•EmbeddedVisualC++•VisualStudio•EmbeddedVisualTools3.0(不提倡,被废弃)PlatformBuilderPlatformBuilder•支持WinCEApp/DLL/Lib,使用Win32API开发•应用程序将被链接到OS内核中–一旦修改代码,必须再重新编译镜像•容易调试OS内核,不容易调试应用程序EmbeddedVisualC++EmbeddedVisualC++•支持WinCEApp/DLL/COM/LibusingWin32API,MFC,ATL•与VisualC++6.0具有相似的工程管理模式和用户界面•易于调试和测试•必须安装相应的为特定平台开发的SDK,从而开发相应的应用程序VisualStudio.NETVisualStudio.NET2003•开发WindowsCEApp/Assemblyusing.NETcompactframework•可使用C#,VB.NET,J#...•VS.NET具有完整的开发环境•目标平台上需要安装.NETcompactframework•易于调试和测试NativeApplicationModelManagedApplicationModelVisualStudio.NET2003C#orVB.NET.NETCompactFrameworkRuntimeCorC++Win32ApplicationsCompiledPlatformBuilderWindowsCEOperatingSystemCorC++Win32ApplicationseMbeddedVisualTools应用程序开发选择(现在)应用程序开发选择(未来)VisualStudio2005C#orVB.NET.NETCompactFramework2.xCorC++Win32ApplicationsWindowsCEOperatingSystemCorC++Win32ApplicationsPlatformBuilder第三节WindowsCE的应用编程接口WindowsCE的应用编程接口•WindowsCE应用程序开发,代码的选择主要有两种:–托管代码:是指使用.NETCompactFramework开发的程序代码,执行时需要有.NET的运行时环境。–本地代码:也称为非托管代码,是指使用C++等高级语言开发的程序代码,可执行文件被编译成与CPU指令集有关的机器码,可以直接运行。由eMbeddedVisualC++开发出来的代码就是本地代码。托管代码的主要好处•与硬件平台无关开发人员可以利用托管代码创建用于多种硬件平台的应用程序,而不用担心如何为每个平台重新编译或重新生产可执行程序•与编程语言无关开发人员可用基于.NET平台的任意编程语言编写代码,包括C#和VisualBasic.NET以及J#等,这些代码都会被编译成统一的中间代码。WindowsCE的应用编程接口•WindowsCE应用程序开发人员目前有三种API可以选择,它们分别是:–Win32API(应用程序接口)–MFC(微软开发类库)与ATL(活动模板库,它主要用于创建COM组件、Web服务和MicrosoftActiveX控件)–Microsoft.NETFramework精简版。6.3.1Win32API•Win32API是微软32位Windows平台的应用程序编程接口(ApplicationProgrammingInterface)。所有在Win32平台上运行的应用程序都会直接或间接地调用这些函数。使用Win32API,应用程序可充分挖掘32位Windows的潜力。•Win32平台是微软32位Windows的统称,包括3大类产品:桌面Windows、服务器Windows和嵌入式Windows。Win32程序构成•概括来说,一个标准的Win32源程序包括两部分:源代码文件和资源文件。源代码文件由.C/.CPP/.H等文本文件构成;资源文件由.RC资源描述文件,.BMP/.ICO/.CUR等图像文件及.FON等其他二进制文件构成。源代码文件经过C/C++编译器编译后形成目标文件;资源文件经过资源编译器编译后形成.RES二进制资源。然后,链接器负责把目标文件、二进制资源及库文件等统一链接,最终形成可执行文件。6.3.2MFC•MFC是一个基于C++语言的面向对象的程序设计框架,它大大简化了Windows的编程工作•同桌面Windows的MFC库相比较,WindowsCE的MFC库在包含的C++类方面有所不同•使用MFC类库的好处是:一方面,MFC提供了一个标准化的结构,这样开发人员可从一个较高的起点编程,从而节省大量的时间;另一方面,它提供了大量的代码,对程序的控制主要由MFC框架完成,而且MFC也完成了大部分的功能,可预定义或实现许多事件和消息处理等等。6.3.3.NETCompactFramework•.NETFramework是一种专门为易于使用而设计的面向对象的API。.NETAPI的用户界面经过了精心设计,是“可发现的”,其目的是:一旦开发者了解了基础知识,就非常容易进行编程。.NETCompactFrameworkMicrosoft.NETCompactFramework是.NET战略的重要部分,是为了在智能设备(如移动电话、PDA)和嵌入式系统上运行托管代码而设计的。.NETCompactFramework简化了在智能设备上开发应用程序的过程。6.3.4各种编程接口的比较•1.运行时占用资源的大小•2.开发效率VS运行效率运行时占用资源的大小----对大小的影响RuntimeSize(Byte)SizeIncrementWin329,805,2310MFC10,234,415429,184.NETcompactframework11,201,4591,396,228*该测试是基于InternetAppliance“平台开发效率VS运行效率----开发和执行时间Developtimeperformanceruntimeperformance.NETCompactframeworkMFCWin32API相关技术----结论确定使用何种模式取决于你是否使用了Win32/MFC/C#/VB来开发程序,以及系统对操作系统镜像大小的要求,同时还要考虑其他因素,如应用程序开发速度以及系统的可靠性和兼容性等。你可以根据项目的工作层来整合和匹配代码,如工作在:驱动中的Win32,MFC或者终端用户程序的C#/VB,开发人员可以充分利用他们在桌面windows下的开发经验来快速开发WindowsCE产品。第二节应用程序开发流程应用开发流程在WindowsCE下开发应用程序大致可分为3个步骤:①安装合适的SDK;②编写代码和调试;③发布应用程序。6.2.1安装SDK•SDK(SoftwareDevelopmentKit)包含了一个特定平台的所有函数。•在使用eVC进行开发前,必须安装特定平台的SDK,而且进行开发时必须了解特定平台支持的函数,在SDK中不包括的函数不能使用。•Microsoft提供了一些SDK,如StandardSDK、PocketPC2003、SmartPhone2003等等。6.2.1安装SDK应用开发人员有两种途径获得SDK:①开发人员可从微软或者第三方处获得SDK;②开发人员可通过PlatformBuilder导出自己的SDK。如果他希望该平台可扩展,其他应用可在该平台上运行的话。基本理念是:谁构建了该WindowsCE平台,谁就应该负责提供该平台的SDK。6.2.2编写代码和调试WindowsCE下的可执行文件是无法直接在桌面Windows中运行的要调试WindowsCE下的应用程序,有两种选择:使用模拟器(Emulator)在真实的WindowsCE设备(Device)上运行使用模拟器调试模拟器是一个Windows应用程序,它在Windows操作系统下为WindowsCE提供了虚拟的硬件执行环境,使WindowsCE可在Windows中作为一个Windows进程执行。使用模拟器调试WindowsMobile5.0的模拟器界面使用WindowsCE设备调试物理连接可以是以太网、串口及USB线等等。事实上,WindowsCE中在开发机与目标机之间建立连接的方式非常多而且很容易令人迷惑,对于应用程序来说,最容易的连接方式是使用ActiveSync。使用ActiveSync连通开发机与目标机后,就可以通过开发工具下载、调试应用程序了。6.2.3应用程序发布当代码开发、测试结束后,就应该发布应用程序了。应用程序的发布涉及到的两个主要问题:代码签名代码打包代码签名授权模式描述特权信任(PrivilegedTrust)应用程序拥有高可信度的证书,可完全访问到操作系统底层API非特权信任(UnprivilegedTrust)应用程序拥有受限制的授权,并且受限访问操作系统底层API不被信任(Untrusted)应用程序不允许在Smartphone设备上运行,并且不能访问系统底层API应用程序的代码签名由微软的两家合作伙伴完成—veriSign和Betrusted代码打包(演示)要在Wince安装程序,则需要制作*.cab安装包。制作*.cab安装包,需要专门的制作工具软件,最常用的也是用得最多的是WinCECABManager,目前版本为3.0。第四节应用程序编程实例本节主要演示用EVC建立、编译、调试应用程序的过程谢谢!
本文标题:Chapter6-基于WINDOWSCE的应用
链接地址:https://www.777doc.com/doc-2905987 .html