Winows编程技术简介

1.Windows与编程
Windows(视窗)是Microsoft公司为PC机开发的具有图形用户界面的多任务操作系统。
图形用户界面(GUI=Graphical User Interface)是计算机的一种人机接口,由图形显示设备(屏幕)和指示跟踪设备(鼠标、跟踪球、光笔/手写笔、触摸屏等)组成,用户可通过指示设备来操作图形设备上的界面元素(窗口、菜单、对话框、图标、控件等)以完成各种任务和操作。

Windows的主要特点有:面向对象、消息/事件驱动、多任务、图形设备接口(GDI= Graphics Device Interface)与设备无关等。与这些相对应,Windows编程有如下特点:

<!--[if !supportLists]-->l     <!--[endif]-->面向对象的编程思想——在Windows中,窗口、菜单、事件皆是对象,而对话框与各种控件只是一些特殊的窗口,所以对界面元素的操作和消息/事件的处理都涉及到对象。

<!--[if !supportLists]-->l     <!--[endif]-->消息/事件驱动的程序结构——与基于过程的控制台字符界面编程不同,Windows编程是基于消息的,由用户和系统事件来驱动。

<!--[if !supportLists]-->l     <!--[endif]-->资源共享与数据交换——Windows是多任务操作系统,提供了多种手段在应用程序与系统之间、应用程序与应用程序之间进行数据交换与共享,如剪接板、DDE、DLL、OLE、COM、ActiveX、.NET/CLR。

<!--[if !supportLists]-->l     <!--[endif]-->与设备无关GDI编程——Windows为应用程序提供了丰富的与设备无关应用程序接口,免去了为不同的I/O设备编写软件的不同版本之烦恼。如利用与设备无关的GDI,应用程序使用同一函数,就可在不同的显示器和打印机上输出同样的图形。

2..NET与C#
为了适应网络(特别是因特网和万维网Web)和组件编程的需要,并与Sun公司的Java/J2EE/EJB竞争,微软公司于2000年提出了跨语言、跨平台的运行环境与编程平台技术——.NET,并为此创建了一种新的编程语言C#。.NET是Windows 2000/XP/Server操作系统的补充,是Windows Vista/Longhorn操作系统的核心。
.NET由.NET框架(.NET Framework)和对应的应用程序开发平台(Visual Studio)这两部分组成。.NET框架又由CLR(Common Language Runtime公共语言运行时)、FCL(Framework Class Library框架类库)和ASP.NET这三个主要部分组成。Visual Studio中包含多种编程语言工具,主要有Visual C++、Visual C# 和Visual Basic。
C# 是源于C++的一种类似于Java的OOP(Object Oriented Programming面向对象编程)语言,是专门为.NET设计的,也是.NET编程的首选语言。C# 与C++很相似,还借鉴了Java的许多特点。但是C# 比C++更安全、比Java更有效,特别适合于Windows环境下的.NET编程。
3.MFC与C++/CLI
早期的Windows编程,是用C语言直接调用Windows SDK (Software Development Kit软件开发工具包)中的API(Application Program Interface 应用程序接口)来开发Windows应用程序,由于需要亲自处理很多繁琐的编程细节,加上Windows API有两千多个函数、几百个数据结构和变量类型,所以进行Windows 编程是一件非常困难与痛苦的事。
Visual C++采用OOP来进行Windows 编程,将API的几千个函数、结构和变量类型封装在200个左右的类中(常用的只有十几个类),并且屏蔽掉了许多繁琐的编程细节,使得Windows 编程大大简化。微软公司称这些类所组成的类库为MFC(Microsoft Foundation Class Library微软基础类库)。
由于在Visual Studio .NET和2005中,只有Visual C++可以同时进行Windows的API(MFC)和.NET(混合)编程(Visual C# 和Visual Basic只能进行.NET编程),所以Visual C++,特别是MFC就成了计算机专业人员进行Windows编程的首选。
由于C++的语法和功能与.NET类库编程的要求不太一致,需要做一些修改才能进行.NET编程。为此,微软公司推出了MC++或C++/CLI。
MC++(Managed C++,托管C++),全称是Managed Extensions for C++(C++的托管扩展),是用来编写.NET托管程序的C++扩展,随Visual C++ .NET推出。
所谓托管(managed)程序是指,程序的代码(元数据、MSIL),特别是程序中的数据和对象所对应内存的分配、指向和释放,全都由.NET的运行环境CLR来代为管理。托管是所有.NET程序的特点。
由于MC++的语法晦涩难懂,受到了广大C++程序员抵制与唾骂。作为改进,微软公司随Visual C++ 2005,推出了全新的C++/CLI,来代替MC++进行.NET编程。

CLI(Common Language Infrastructure公共语言基础设施)是微软公司提出的一种所谓垮语言(如C#、VB、C++、J#、Jscript)、跨平台(如Windows、Unix、Linux、Mac OS)的分布式计算方案和运行平台架构。CLI是.NET的核心,CLR只是CLI在Windows平台上的一个实现,也有人把.NET和CLI移植到了Linux、Solaris、Mac OS X和Unix上。CLI已经成为ECMA(European Computer Manufacturers Association欧洲计算机厂商协会)标准(ECMA-335)和ISO标准(ISO/IEC 23271)。C++/CLI也是ECMA标准(ECMA-372)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值