C# Windows CE特点之可移植性

开发 后端
C# Windows CE特点之可移植性是什么呢?C# Windows CE作为操作系统的一个员,那么C# Windows CE特点之可移植性就有点应有的色彩了。

C# Windows CE特点之可移植性是什么?让我们来看看。

一个成功的操作系统,必然在应用程序和设备驱动这两种关键软件的可用性上有特别之处。

如果每类软件没有达到一定数量,这个操作系统的能力就肯定会有所限制。为了解决这一问题,微软在增强已有软件对C# Windows CE的可移植性方面做了大量工作,目的就是要在构造成功C# Windows CE环境的同时,使软件开发人员能够方便地利用已有的成功软件。

首先,微软将Win32 API设置为C# Windows CE应用程序和设备驱动的***编程接口。正如本章前面所介绍的,自从1992年Win32 API问世以来,在微软所有的Windows操作系统中,它都占据着重要地位,C# Windows CE也不例外。

在C# Windows CE中,也可以使用其它桌面版本的编程接口。这其中包括MFC库,这个库为C++程序员提供面向对象的Win32 API。另外还包括ActiveX模板库(ATL,ActiveX Template Labrary),这是***个支持Internet Explorer中简单ActiveX控件的库。还有eMbedded Visual Basic,它是桌面版Visual Basic环境的简装版本。(Pocket PC 2003将是***支持eMbedded Visual Basic的设备,将来, eMbedded Visual Basic程序员需要转为使用.NET精简框架,或者使用像NS-BASIC10这样的第三方工具。)

为了支持新设备驱动的开发,C# Windows CE设备驱动都尽可能遵循桌面版本的Windows NT/2K/XP驱动模型。这在网络(NDIS)驱动方面成为了现实,显示终端、打印机、键盘和USB等设备驱动也是如此。对这些驱动基本的做法就是简化、缩简桌面版本的相应驱动。设计驱动的指导思想和体系结构都包含在桌面版本的驱动程序中,但是更好的方法就是鼓励桌面驱动的作者去开发基于C# Windows CE的设备驱动。

Win32 API被设计为一种可移植的编程接口,使其可以在不同的CPU平台之间实现源代码级移植11。其目标是使独立的主体源代码通过重新编译后可以在不同的CPU环境下运行,这在C# Windows CE中大部分已经成为了现实。几乎每个C# Windows CE开发人员都利用了这一设计,有时甚至是不经思考的。假设有一个开发人员,他为基于StrongARM的Pocket PC开发软件,那么他如何从源代码移植中受益呢?显然,如果他能重用桌面版本(或服务器版本)Microsoft Windows中的代码,那么他就已经受益了。

另外,它还可以使用在基于x86的开发环境中运行的Pocket PC模拟器。模拟器在Windows 2000或者Windows XP的一个窗口中运行与Pocket PC中一样的软件。Pocket PC程序在模拟器上运行时实际使用的是本地的x86指令;而同样的程序在实际的Pocket PC设备上编译运行时,使用的则是它的StrongARM(或者XScale)处理器,只是这个程序可能需要重新编译为StrongARM的可执行程序。

.NET精简框架将可移植性的概念更深入了一步,它支持不同处理器平台之间的二进制移植。一经编译,独立的.NET精简框架(.exe)程序就可以无需改变地运行,只要有.NET精简框架环境,任何处理器支持都可以,如StrongARM、MIPS、SH3、SH4和x86的CPU。另外,同样的可执行程序也可以在桌面版本Windows的.NET框架1.1版本中运行12。

能够做到这一点是有原因的。首先,编译.NET程序时与C或C++程序的不同在于,其生成的可执行文件不是特定CPU的机器代码,而是与CPU无关的机器级语言,也就是微软中间语言(MSIL,Microsoft Intermediate Language),有时也叫做通用中间语言(CIL,Common Intermediate Language)。

允许.NET精简框架程序在桌面版本.NET框架中运行的第二个因素是我们马上要介绍的C# Windows CE编程接口与桌面版本编程接口的兼容性。

C# Windows CE特点之可移植性的相关内容就向你介绍到这里,希望对你了解和学习C# Windows CE特点之可移植性有所帮助。

【编辑推荐】

  1. c# Windows CE读取电池电量的实现
  2. C# Windows CE使用小技巧实例
  3. C# Windows CE概述
  4. C# Windows CE特点之小型化
  5. C# Windows CE特点之模块化
责任编辑:仲衡 来源: CSDN
相关推荐

2009-08-17 10:26:34

C# Windows

2009-08-17 10:22:19

C# Windows

2009-07-17 13:42:36

Windows CE应WinCE可移植性

2009-08-17 10:29:58

C# Windows

2009-08-17 10:11:12

C# Windows

2009-08-17 10:02:58

C# Windows

2011-06-14 14:18:08

可移植性测试

2009-08-17 09:57:00

C# Windows

2011-07-22 17:41:02

java

2011-07-11 17:33:25

JAVA可移植性

2009-08-25 17:59:49

C#入门

2013-05-28 10:33:06

虚拟化虚拟机移植

2016-08-02 09:45:59

云计算

2012-09-07 09:51:07

云互操作性云可移植性云计算服务

2012-12-14 09:35:03

私有云应用程序可移植性OpenStack

2012-11-16 15:34:35

Cloud FoundVMware PaaS平台即服务

2009-08-17 09:39:40

C# Windows

2023-10-13 09:00:00

云计算架构

2013-12-09 09:24:46

2013-10-31 10:22:21

开源云Linux容器Docker
点赞
收藏

51CTO技术栈公众号