传统windows编程补充剖析.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
传统windows编程补充剖析

传统 Windows程序设计基础知识补充 Windows是一个具有可视化图形用户界面的多任务的操作系统,它为用户提供了风格统一的由窗口、菜单、工具栏等界面元素所构成的多任务环境。这里介绍传统Windows编程的一些基础知识,作为实践教材2.1节的补充。 1.Windows操作系统介绍 1.1 Windows操作系统的特点 Windows之所以取得成功,主要在于它具有以下优点: 直观、高效、统一的面向对象的图形用户界面,易学易用 Windows应用程序大多符合IBM公司提出的CUA (Common User Acess)标准,所有的程序拥有相同的或相似的基本外观,包括窗口、菜单、工具条等。用户只要掌握其中一个,就不难学会其他软件,从而降低了用户培训学习的费用。 从某种意义上说,Windows用户界面和开发环境都是面向对象的。采用“选择对象-操作对象”的方式进行工作。比如要打开一个文档,我们首先用鼠标或键盘选择该文档,然后从右键菜单中选择“打开”操作,打开该文档。这种操作方式模拟了现实世界的行为,易于理解、学习和使用。 丰富的设备无关的图形操作 Windows的另一特点是设备的无关性,即为Windows编写的应用程序可以运行于任何具有Windows设备驱动程序的硬件环境中。对于程序员来说,无需考虑不同硬件设备(如显示器、打印机或绘图仪等输出设备)的差异,只需当成输出设备使用进行编程。这是由图形设备接口GDI (Graphic Devices Interface)实现的。 GDI还提供丰富的图形操作函数,可以绘制出诸如线、圆、框等的几何图形,并支持各种输出设备。 多任务多进程 在MS-DOS环境下,同一时刻只能运行一个应用程序,键盘、显示器等系统设备由一个程序独占。 Windows是多任务的操作系统,同一时刻可以运行多个应用程序,即所谓多进程。同时运行的进程间可以进行信息交互,系统资源由操作系统管理,为所有进程共享。 Windows规定每个程序只能在一个称为“窗口”屏幕矩形区域中进行显示输出,每个应用程序对应至少一个窗口。当运行多个应用程序时,屏幕上将产生多个应用程序窗口,但其中只有一个是活动窗口,当活动窗口拥有多个子窗口时,也只有一个子窗口是活动的。只有活动窗口才能有输入焦点,接受键盘与鼠标消息。 在32位的Windows中,采用系统定时器将CPU时间按时间片方式,分配给系统中同时运行的多个进程,并且当前进程在其时间片未用完时可被更高优先级进程抢先使用CPU,称抢先式多任务系统。多个应用程序在不同时间片内拥有CPU,在用户看来,好像是多个应用程序在同时运行。 1.2 Windows的内存管理 在多进程模式操作系统中,必须保护每个进程的安全运行,防止被同时运行的其它进程所破坏,Windows系统采用虚拟内存提供这种保护。 在Windows操作系统中有两种存储器概念:物理存储器和虚拟存储器。虚拟存储器不是真实的物理存储器,而是虚拟地址空间。Windows操作系统提供32位虚地址,因此每个进程的虚拟地址空间达4GB(bytes)。其中低端2GB(对Windows NT,可选3GB)为用户地址空间,而操作系统保留2GB(或对应为1GB)。 虚拟内存系统的工作过程如下: 1.当建立一个新进程时,操作系统赋予每个进程4GB的虚拟地址(不是内存)。 2.虚拟内存管理器把应用程序的代码映射到应用程序的虚拟地址空间的某个位置,并把当前所需要的代码加载到物理内存。(虚拟地址与应用程序代码在物理内存中的位置无关) 3.如果应用程序使用了动态链接库(DLL),则DLL被映射到进程的虚拟地址空间,并在需要时加载到物理内存。 4.分配程序的数据和栈需要的空间,并映射到虚拟地址空间。 5.应用程序使用虚拟地址空间中的地址开始执行,虚拟内存管理器把每个对虚拟内存的访问映射到物理内存。 从开发人员的角度看,一个应用程序是在一个4GB大小的虚拟内存中运行,而不管它实际运行的物理内存有多大。至于虚拟内存怎样映射到物理内存,是由Windows操作系统的虚拟内存管理器在CPU的硬件支持下完成的。这样既保证了程序的健康运行,又简化了内存管理。强制使用虚拟内存允许操作系统在物理内存上严格分离各个进程,保护进程不受破坏;对于应用程序来说,4GB内存足够使用,无需考虑内存空间大小。 2.传统的Windows 程序设计 Windows程序设计具有图形用户界面、多任务、多窗口等特点。 Visual C++提供两套完整的Windows 程序开发系统,一种是直接使用Windows提供的API (Application Programming Interface 应用程序编程接口)函数,称为传统的wingdows程序设计;另一种是采用面向对象的方式,使用微

文档评论(0)

jiayou10 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档