您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 第1章Windows程序设计基础
第1章Windows程序设计基础Windows体系及编程王新颖第1章Windows程序设计基础招聘信息1熟悉INTELX86汇编语言,了解CPU及实模式,保护模式等工作模式及常用硬件编程.了解Malware的各类反调试,反静态分析手段.编写过WINDOWSDEBUGAPI软件及汇编反汇编引擎者为佳.2熟悉WINDOWSRING3及RING0常用API,了解WINDOWS核心模式驱动程序的构架及编程.3熟悉常见网络通讯协议,特别是IP协议族以及各类应用层网络协议.开发过网络嗅叹器及网络协议分析软件为佳.4熟悉Windows或Linux多线程,MFC或QT,IOCP或EPOLL网络模型编程及线程池及内存池的实现。第1章Windows程序设计基础课程简介学时:共32学时,上课20学时,实验12学时教材:《Windows程序设计》(第2版)王艳平人民邮电出版社参考书目:–《Windows程序设计》第5版CharlesPetzold–《Windows核心编程》(美)JeffreyRichter–《MFC深入浅出》候捷–《深入浅出WPF》刘铁猛第1章Windows程序设计基础参考书第1章Windows程序设计基础参考书第1章Windows程序设计基础第1章Windows程序设计基础1.1操作系统及其发展1.2Windows操作系统1.3Windows编程环境第1章Windows程序设计基础1.1操作系统及其发展操作系统(OperatingSystem,OS)是计算机硬件和用户之间的接口,负责管理和协调计算机资源的活动和分配。第1章Windows程序设计基础1.1操作系统及其发展操作系统的用户界面(UserInterface,UI),从简单原始的字符界面,发展到直观易用的图形界面,再到人性化的多媒体界面,目前正向智能感知、无处不在的普适计算(PervasiveComputing)的方向发展第1章Windows程序设计基础1.2Windows操作系统1.2.1发展历程早期的Windows并不是一个独立的操作系统,而只是DOS的一个补丁程序。最初的Windows1.0(于1985年11月20日推出)和2.0,运行于16位的286PC机上,又慢又差,被业界所唾弃。随着386CPU的推出和微软公司的不断改进,1990年推出的(16位)Windows3.0获得了巨大的成功,后来推出的带浏览器IE的(32位)Windows95/98也得到广泛好评。第1章Windows程序设计基础1.2Windows操作系统但2000年推出的面向家用、强调多媒体的WindowsMe(MillenniumEdition,千年版),由于笨拙、差慢,导致失败,传统DOS外挂GUI模块型的Windows也走到了尽头。1993年微软开发出基于微内核结构的32位独立操作系统WindowsNT(NewTechnology,新技术),2000年和2001年分别推出基于NT的Windows2000和WindowsXP(eXPerience,体验),大受好评,被广泛使用。第1章Windows程序设计基础1.2Windows操作系统2006年底,微软推出(同样基于NT)的WindowsVista(远景/街景/展望)内含.NET框架和DirectX模块、还引入了全新的WPF图形子系统,具有华丽的Aero用户界面。但由于Vista对硬件要求高、兼容性差、且速度慢,惨招失败。微软痛定思痛,对Vista进行了大量的改进,于2009年秋推出了运行效率高、对硬件要求低、而且兼容性好的Windows7,获得了一致好评。第1章Windows程序设计基础1.2Windows操作系统2012年推出Windows8引入Metro(地铁)卡片界面,支持ARMCPU和多点触控,同时支持PC机、平版电脑和智能手机,意欲改变Windows操作系统在平版电脑和智能手机领域的落后状态。第1章Windows程序设计基础1.2Windows操作系统1.2.2主要特点面向对象在Windows中,窗口、菜单、事件皆是对象,而对话框与各种控件只是一些特殊的窗口,所以对界面元素的操作和消息/事件的处理都涉及到对象。这些对象的属性和操作,由API的数据结构和函数(或由MFC和.NET框架中的类)提供。第1章Windows程序设计基础1.2Windows操作系统消息/事件驱动用户操作系统事件系统消息队列应用消息队列应用消息队列应用程序消息处理函数窗口函数1窗口函数n应用程序消息处理函数窗口函数1窗口函数n第1章Windows程序设计基础1.2Windows操作系统资源共享与数据交换资源包括:CPU、内存、I/O设备等。标准的MS-DOS程序在运行时,可独占计算机的所有资源。但由于Windows是一种(抢先式)多任务操作系统,所以Windows应用程序必须和正在运行的其他程序共享这些资源。因此在进行Windows程序设计时,必须时刻记住资源共享这一多任务OS的特点,以避免耗尽资源而造成系统死机。第1章Windows程序设计基础1.2Windows操作系统与设备无关的GDIWindows为应用程序提供了丰富的与设备无关API,免去了为不同的I/O设备编写软件的不同版本之烦恼。如利用与设备无关的GDI,应用程序使用同一函数,可在不同的显卡、打印机和显示器上输出同一个图形。第1章Windows程序设计基础1.2Windows操作系统1.2.3系统构成第1章Windows程序设计基础1.2Windows操作系统1.2.4图形子系统Windows的图形子系统经历了GDI、GDI+和WPF三个发展阶段。GDI传统的GDI(GraphicsDeviceInterface,图形设备接口)是微软随Windows1.0(1985年11月)推出的Windows基本图形子系统,用于与显卡和显示设备无关的图形界面编程,支持WYSIWYG(WhatYouSeeIsWhatYouGet,所见即所得)。第1章Windows程序设计基础1.2Windows操作系统GDI+新式的GDI+是随WindowsXP(2001年10月)推出的GDI的改进版,增加了α混色、渐变画刷、样条曲线、矩阵变换、图像处理、持久路径等新功能,GDI+也是.NET框架中Windows窗体使用的图形子系统。第1章Windows程序设计基础1.2Windows操作系统WPF随WindowsVista和.NET框架3.0(2006年11月)微软又推出了全新的Windows图形子系统WPF(WindowsPresentationFoundation,视窗展示基础),它统一了桌面和浏览器等客户端应用程序的图形界面,基于DirectX和.NET框架,采用声明式XAML进行界面设计,是Windows的下一代GUI显示系统。第1章Windows程序设计基础1.3Windows编程工具常用的高级编程语言(如Fortran、Basic、Pascal、C),其中主流的是OOP语言(如C++、Java、C#等)。随着Web网络的兴起和普及,多种简单实用的脚本语言(如JavaScript、PHP、Perl、Ruby等)也开始流行起来。早期的语言工具的主体基于命令行的编译器(如MSC),后来才出现直观易用的集成开发环境(如TurboPascal)和基于软件模块拖放组合的可视编程工具(如VisualBasic和Delphi)。第1章Windows程序设计基础1.3Windows编程工具1.3.1Windows编程发展历程最早的Windows系统是用汇编、C和Pascal语言编写的(现在则主要用C++),Windows程序员最初都是用C语言(主要是微软无IDE的MSC,)直接调用WindowsSDK(SoftwareDevelopmentKit,软件开发工具包)中的WindowsAPI(ApplicationProgramInterface,应用程序接口)来编写Windows应用程序。第1章Windows程序设计基础1.3Windows编程工具1.3.1Windows编程发展历程1991年5月,Tripod(三脚架)公司的AlanCooper按微软公司的要求,将Basic语言嵌入他自己开发的可视编程环境“Ruby”中,为Windows3.0推出了了世界上第一个流行的可视编程软件VisualBasicforWindows1.0。第1章Windows程序设计基础1.3Windows编程工具1.3.1Windows编程发展历程Borland公司将买下WhiteWater的C++Framework(框架)改名为OWL(ObjectWindowsLibrary,对象视窗库,一种WindowsAPI的C++类库),于1992年6月推出了以OWL为核心的BorlandC++3.1,支持Windows的OOP编程,且并带有直观易用的IDE,受到Windows程序员的热情追捧。第1章Windows程序设计基础1.3Windows编程工具1.3.1Windows编程发展历程由于微软公司利用自己在PC机操作系统上的垄断优势,将它的新推出的OLE和COM等组件技术,集成到它自己的开发工具中,而对Borlan等其他公司保密。因此,VisualC++和VisualBasic才得以取代BorlandC++在Windows编程中的霸主地位。第1章Windows程序设计基础1.3Windows编程工具1.3.1Windows编程发展历程Borland公司并不甘心,AndersHejlsberg于1995年开发出了嵌入Pascal语言、基于组件的可视编程工具Delphi,它比VC更好用、比VB的功能更强大、长于数据库连接,受到了Windows程序员的热烈欢迎,可与微软的VB和VC分庭抗礼。1995年5月Sun公司推出了由JamesGosling等人开发的一种跨平台、面向对象、适应网络环境的全新编程语言Java,彻底改变了Windows开发工具的格局。第1章Windows程序设计基础1.3Windows编程工具1.3.1Windows编程发展历程Borland公司的AndersHejlsberg,看到了Java的优点与成功,同时也发现了Java的缺点和不足。为了安全和跨平台,Java采用了字节码和虚拟机,程序须经过解释才能执行,大大降低了Java程序的运行效率。虽然JavaEE和JSP的组件功能强大,但是Java语言本身并不具备组件功能,而且用Java编写的组件也很难与其他语言开发的软件模块集成在一起。第1章Windows程序设计基础1.3Windows编程工具1.3.1Windows编程发展历程2002年2月,微软公司推出了由AndersHejlsberg领导开发的跨语言、跨平台、面向组件的运行环境——.NET框架和简单现代、面向对象、类型安全、运行高效的编程语言——C#。到此,AndersHejlsberg才真正实现了他的设计和梦想,微软公司的开发平台和编程工具也因此发展到了一个全新的阶段。《Borland传奇》第1章Windows程序设计基础1.3Windows编程工具1.3.2.NET框架.NET框架(.NETFramework)是微软公司为了与Sun/Oracle公司的Java(EE)竞争,于2000年6月提出来的一种新的跨语言、跨平台、面向组件的操作系统环境,适用于Web服务(Webservices)和因特网(Internet)分布式应用程序的生成、部署和运行。.NET框架也是WindowsVista、Windows7和Windows8等新版Windows操作系统的核心部件第1章Windows程序设计基础1.3Windows编程工具1.3.3VisualStudioVisualStudio(VS,可视工作室)是基于.NET框架软件的开发平台,也是.NET的主要组成部分。VisualStudio采用了支持可视编程的集成开发环境。版本:1993年2月VisualWorkbench(可视工
本文标题:第1章Windows程序设计基础
链接地址:https://www.777doc.com/doc-2153969 .html