`
lingzantia
  • 浏览: 150016 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

[翻译]-WinCE 程序设计 (3rd 版)--1.1 Windows CE有什么不同之处

阅读更多

Windows CE有什么不同之处
Windows CE有许多特性使得它不同于其它Windows 平台。首先,运行Windows CE的系统,大多数可能不使用Intel x86兼容微处理器。实际上,Windows CE运行在4种不同的CPU系列里:SHx, MIPS, ARM, 和 x86。幸运的是,开发环境几乎将各种不同CPU的所有差异与程序员隔离开了。

Windows CE程序事先不能确定屏幕或键盘。Pocket PC设备有一个240*320的纵向屏幕,而其它系统具有传统的480*240,640*240,640*480像素分辨率的横向屏幕。一些嵌入式设备则根本没有显示器。一些目标设备可能不支持彩色,并且大部分Windows CE设备用触摸屏替代了鼠标。一些在触摸屏设备上,轻触屏幕,表示鼠标左键点击,没有明显的方法代表鼠标右键。为了能处理右键,Windows 约定,当轻触屏幕的时候,按下Alt键,由Windows CE程序把这个组合序列解释为鼠标右键点击。

Windows CE设备具有更少的资源
运行Windows CE系统的目标设备上,各种资源变化极大。当写一个标准Windows 程序的时候,程序员可以对目标设备做许多假定,并且设备几乎都是IBM兼容机。目标设备通常有硬盘用于存储,同时虚拟内存系统用硬盘作为交换设备来模拟一个几乎没有数量限制的虚拟内存。程序员知道用户有键盘、双键鼠标以及可以当前支持256色、至少有800*600分辨率的显示器。

Windows CE程序所运行的设备几乎都没有硬盘作为大容量存储。没有硬盘不仅仅意味着没有地方存储大量文件,也意味着不能交换数据到磁盘上来创建虚拟内存。所以Windows CE程序几乎总是在少量内存环境里运行的。因为资源缺乏,内存分配经常失败。当空闲内存达到一个严重低的级别,Windows CE可能会自动终止一个程序。RAM的限制对Windows CE程序有很大的影响,并且是将现有的Windows应用程序移植到Windows CE过程涉及的主要挑战之一。

Unicode
在写Windows CE程序时,程序员可以使用的一个特性是Unicode. Unicode是一个字符编码标准,使用16位表示一个字符,相对的,ASCII标准是用单个8位编码一个字符。Unicode 允许相当简单将程序移植到不同的国际市场,因为世界上所有已知的字符都可以用65,536个Unicode 值里的一个来表示。处理Unicode相对容易,只要避免假设字符串是用ASCII代表和字符是按单个字节存储的。

使用Unicode的一个结果是每个字符占2个字节而不是一个,字符串长了一倍。程序员必须小心计算缓冲区和字符串的长度。你不能再假设260字节可以存储259个字符和一个0结尾符。作为标准char数据类型的替代品,你应该使用TCHAR数据类型。TCHAR在MS Windows 95和98中定义为char型,在Windows 2000,XP,Windows CE中,使用Unicode功能的程序里,TCHAR定义为unsigned short类型。这些类型定义,允许在基于ASCII和Unicode的操作系统上源代码级的兼容。

新控件
Windows CE上有许多为特殊环境设计的新控件。包括命令条、菜单条控件,提供类似菜单和工具条的功能,在具有更小屏幕的Windows CE设备上,这些为了节省空间都合并一行里。其它控件也为Windows CE做了改进。Windows CE里的编辑控件(edit control)可以设置为自动将单词首字母大写,这对在无键盘的PDA上进行设计是很重要的。对于Windows 桌面版本里的控件,Windows CE则提供了大部分。例如,日期和时间调整控件、日历控件使日历和管理器应用程序更加适合诸如H/PC和Pocket PC等手持设备。其它Windows标准控件做了功能裁减,这反应了Windows CE特殊的硬件系统配置所具有的紧凑简洁特性。

组件化
Windows CE编程中另一个需要注意的方面是Windows CE可以被微软或OEM厂商分解和重新配置,以更好地适应目标市场或设备。Windows程序员通常只是检查Windows 版本,看是否是Windows 95/98,Me系列或者2000,XP系列。通过获得版本,程序员可以判断哪些API函数可以使用。然而,Windows CE可以按无数种方式配置。

迄今为止,Windows CE最流行的配置是Pocket PC。微软定义了具体Windows CE组件集合,这些都体现在所有称为Pocket PC的设备上。然而,一些用Windows CE生产的OEM产品--PDA设备,并不叫Pocket PC。这些设备同Pocket PC设备在API上略微不同。如果你没有意识到这一点,你很容易写一个程序能运行在一个平台,却不能运行在另一个平台。在嵌入式平台上,OEM厂商决定包括什么组件,并可以为它特定的平台创建一个SDK开发包。如果OEM厂商对第三方开发感兴趣,它会为它的设备提供一个可定制的SDK包。新的平台不断出现,它们有许多共同的地方,也有许多不同之处。程序员需要了解目标平台,在尝试用一个可能不被设备支持的功能集时,需要让程序检查在特殊平台上什么函数可用。

Win32子集
最后,因为Windows CE比XP小很多,它不能像它大块头的兄弟XP那样支持所有的函数调用。当你面对一个不支持打印功能的操作系统,比如原始模式下的Windows CE时,不要调用任何打印函数,Windows CE还去除了一些XP中支持的冗余功能。虽然Windows CE可能不支持你喜欢的功能,但其它不同的函数集可能会工作的很好。有时Windows CE编程似乎主要是用Windows CE中稀少的API来找出实现一个特性的方式,虽然成千上万的函数很少被调用。

分享到:
评论

相关推荐

    Lazarus-0.9.28.2-fpc-2.2.4-cross-arm-wince-win32

    标题 "Lazarus-0.9.28.2-fpc-2.2.4-cross-arm-wince-win32" 暗示了一个用于开发针对Windows CE(掌上设备操作系统)应用程序的开源集成开发环境(IDE)——Lazarus的一个特定版本。Lazarus是Free Pascal编译器(FPC...

    lazarus-1.0.8-fpc-2.6.2-cross-arm-wince-win32

    lazarus-1.0.8-fpc-2.6.2-cross-arm-wince-win32 freepascal 用于开发WINCE程序

    WINCE程序设计 WINCE程序设计

    《WINCE程序设计》深入解析 Windows CE(简称WinCE)是微软公司开发的一款嵌入式操作系统,主要用于掌上设备、工业控制、汽车电子、医疗设备等领域的应用。它的设计思路是将完整的Windows桌面系统精简,形成一个轻...

    wince程序设计 wince程序设计 wince程序设计

    在本文中,我们将深入探讨Windows CE(WinCE)程序设计的关键知识点,包括其架构、开发环境、编程语言支持以及实际应用案例。 1. Windows CE 架构: Windows CE是一个模块化、可裁剪的操作系统,可以适应各种硬件...

    .net-cf-wince-curve.rar_WINCE 曲线_WINCE 曲线_wince 曲线控件_曲线 wince_

    描述中的".net-cf-wince-curve.rar"是一个包含用于Windows CE平台的曲线绘制控件的压缩文件。该控件可能提供API和方法,使开发者能够轻松地在Wince设备上生成实时数据曲线,这对于需要实时监测和分析数据的科学仪器...

    hobd汉化版-wince

    标题 "hobd汉化版-wince" 指向的是一个专为Windows CE(Wince)操作系统汉化的HOBD软件版本。HOBD,全称是"Handy OBD-II",是一款用于汽车诊断的工具,它可以连接到车辆的OBD-II接口,读取并解析车载计算机的数据,...

    WINCE教学示例 Windows ce

    WINCE教学示例 Windowsce实例 wince学习 wince教材WINCE教学示例 Windowsce实例 wince学习 wince教材WINCE教学示例 Windowsce实例 wince学习 wince教材WINCE教学示例 Windowsce实例 wince学习 wince教材WINCE教学...

    wince程序设计教程

    Windows CE(简称Wince)是微软推出的一种嵌入式操作系统,广泛应用于掌上电脑、工业设备、汽车电子等场合。本教程将深入探讨Wince程序设计的基础与高级特性,帮助初学者快速掌握这一领域的核心技能。 一、Windows ...

    qt-wince安装.pdf

    首先,你需要下载适用于Windows CE的Qt源代码包,例如`qt-embedded-wince-opensource-src-4.4.0.zip`。 2. **安装Visual Studio 2005** 安装Visual Studio 2005是必要的,因为Qt的构建系统依赖于其编译器。在安装...

    wince之应用程序设计

    与桌面版Windows不同,WinCE并不依赖于X86架构,而是支持多种处理器架构,包括ARM、MIPS、SH4等。它的核心设计理念是轻量级、高效能,适应各种嵌入式环境的需求。 二、应用程序开发环境 开发WinCE应用程序通常涉及...

    Windows ce的一本非常好的教程,详细介绍了开发过程WinCE_eBook

    《WinCE_eBook》是一本专注于Windows CE开发的权威教程,涵盖了从基础知识到高级应用的全方位内容。...学习这本书,你将能够设计、构建和调试自己的Windows CE应用程序,从而在嵌入式系统领域中大展拳脚。

    Wince程序设计 第三版

    《Wince程序设计 第三版》是一本深入探讨Windows CE.NET平台编程的权威指南,主要针对希望在嵌入式系统中开发应用程序的程序员。这本书详细介绍了如何利用Microsoft的嵌入式操作系统来创建高效、功能丰富的应用程序...

    VS2005-CoreCon-x86-WINCE600,wince开发软件安装包

    "VS2005-CoreCon-x86-WINCE600"这个安装包就是专门为Windows CE 6.00平台的开发设计的,它包含了构建、调试和测试嵌入式应用程序所需的工具和组件。 首先,"CoreCon"是Visual Studio 2005中的核心连接组件,它是...

    WinCe程序设计第4版

    《WinCe程序设计第4版》是一本深入探讨Windows CE操作系统下程序开发的专业书籍,针对.wince环境提供了全面且深入的指导。Windows CE是微软公司为嵌入式设备设计的一个实时操作系统,它在各种小巧便携设备、工业控制...

    qt-wince安装.docx

    Qt-WinCE是Qt框架在Windows CE操作系统上的移植版本,允许开发者使用Qt库创建在Windows CE设备上运行的应用程序。本文档详细介绍了如何在SAMSUNG i718+手机上搭建Qt嵌入式开发环境并安装Qt-WinCE。 1. **准备工作**...

    PDF->WindowsCE程序设计

    此PDF教程对于初学者来说,不仅提供了理论知识,还可能包含实践指导和代码示例,有助于读者快速上手Windows CE程序设计。虽然建议购买纸质书籍以获得更好的学习体验,但这份免费的PDF资料无疑为自学提供了便利。在...

    使用visual studio开发windows ce程序

    2. **Embedded Visual C++ 4.0**:虽然这款工具已经被淘汰,但它曾经是开发Windows CE原生应用程序的主要工具之一。它主要支持C++语言,并且包含了一些特定于Windows CE的功能。 3. **Visual Studio .NET 2003**:...

    Windows-CE-Tools.rar_CEtools_Windows CE Tools_cetools wince_tool

    Windows CE工具是针对微软Windows CE操作系统的一套开发和管理工具,这个名为"Windows-CE-Tools.rar"的压缩包显然包含了这些重要的工具集合,对于想要深入理解和开发基于Windows CE平台的初学者来说,是一个非常宝贵...

    C# 各种文件格式的转换 ----winCE试验版

    C# 各种文件格式的转换 ----winCE试验版 京华志&精华志出品 希望大家互相学习,互相进步 支持CSDN 支持微软 主要包括C# ASP.NET SQLDBA 源码 毕业设计 开题报告 答辩PPT等

    博创2410开发板光盘资料----WINCE实验指导书

    这部分涵盖了Windows CE.NET相关的技术文档和参考资料,包括但不限于实时性、编译参数、地址映射表等。这些资料对于深入理解WinCE系统的工作原理和技术细节非常有帮助,是学习和开发过程中不可或缺的一部分。 通过...

Global site tag (gtag.js) - Google Analytics