时 间 记 忆
最 新 评 论
专 题 分 类
最 新 日 志
最 新 留 言
搜 索
用 户 登 录
友 情 连 接
博 客 信 息


 
 
   
 
 
WINDOWS编程基础知识
[ 2008-7-7 18:08:00 | By: 精诚软件 白先生 ]
 

1、WINDOWS编程环境
(1)、SDK(Software Development Kit)
Microsoft于1985年推出了WINDOWS 1.0,1987年推出了WINDOWS 2.0,并且提供了供开发人员使用的软件开发工具包(Software Development Kit,SDK),提高了对操作系统的编程能力。
(2)、C++
最基本的WINDOWS编程是SDK-C编程,即在SDK的开发环境中使用C语言进行程序设计,开发人员要完全通过自己编码来实现和构造整个应用程序的结构和所有的界面元素。这种SDK-C的编程方式无论是从难度还是从工作量上来看都是非常大的,尤其是大型复杂的程序。后来出现了“所见即所得”的可视化面向对象的编程工具DELPHI和VB,这虽然降低了编程难度,但因为过分强调界面美观和降低编程难度,使得对系统内核的控制能力不强,编程效果不太理想。
为了解决这些问题,MICROSOFT在SDK基础上开发了C++语言,它以MFC类库为基础,既降低了编程难度,又极大地增强了对系统的控制能力。MICROSOFT又开发了可视化的集成开发环境VC++,界面元素通过拖拉就可以简单创建,使开发人员将精力集中在了对算法的控制上,大大提高了编程效率。
2、WINDOWS程序开发中涉及的基本概念
因为WINDOWS操作系统是目前主流的操作系统,要在这个平台上编写程序,必须对它的结构和运行机制有深入的了解。
(1)、WINDOWS操作系统的结构
WINDOWS操作系统是由许多模块组成的综合体,这些模块包含可执行程序、设备驱动程序、动态链接库等。WINDOWS中的大部分模块采用的是动态链接库的形式,因而对系统进行扩充和升级简单方便。我们开发应用程序是通过WINDOWS API 函数来控制操作系统来实现各种功能的,而这些API函数就是随系统启动而载入内存的。
(2)、虚拟机和虚拟设备
虚拟机VM:CPU通过分时操作,可以同时执行多个任务,因为CPU的处理速度非常快,每个应用程序就象独占了CPU一样,所以就可以把这些包括应用程序、支持软件、内存以及CPU寄存器所组成的一个个可执行任务,称为一个个虚拟机。CPU把这些任务分别放入自己的虚拟机中,由虚拟机管理器负责管理和调度。
虚拟设备:是一些可以使用但并不真实存在的设备,多以虚拟设备驱动程序(VXD)来实现,这些VXD是一些32位保护模式的动态链接库,对某种硬件设备和系统资源进行管理,使其可以为多个应用程序共用,如同一个设备虚拟成了多个设备。
(3)、多任务管理
由于CPU的分时操作,可以同时运行多个任务,由各虚拟机负责管理。为了管理这些设备,操作系统提供了任务管理器,也就是虚拟机管理器。每个任务必须具备两个功能:在需要CPU进行处理时,能向操作系统的任务管理器提出请求,在处理完成以后能将对CPU的控制交还给任务管理器,所以每个应用程序至少具备一个能被任务管理器调用的窗口函数,以及消息循环功能,进行消息循环,可以向任务管理器提出占用CPU及交还CPU的申请。
(4)、窗口和消息
窗口是指能进行图形处理的视觉上可见的窗口,也包括不可见的能进行消息处理的单元。窗口对象的数据为每个窗口和每个窗口类保存的信息,由WINDOWS发送给窗口消息,由WINDOWS调用窗口函数负责处理。
消息是消息驱动机制的核心,是报告某事件发生的通知。WINDOWS下发生的消息分为输入消息、控制消息、系统消息与用户消息四大类。为接收消息,WINDOWS在程序执行后将为其创建一个消息队列,用来存放发送给程序各窗口的消息。
(5)、句柄
句柄是WINDOWS使用的用于标识应用程序一个对象的一个无重复整数,也可以将其看作是赋予给对象的唯一名称,在给一个对象赋予句柄以后,就可以通过此句柄来完成对该对象的引用了。
(6)、资源
WINDOWS程序中使用了如图标、位图、对话框、菜单等大量的资源,为了是程序结构化,这些资源被集中在了一个资源文件中进行定义。
(7)、内存管理
WINDOWS由内存管理程序控制着系统的所有可用内存,同时提供了一些API内存管理函数分配和释放内存。
(8)、图形设备接口
图形设备接口(Graphics Device Interface,GDI)是通向WINDOWS可视界面的入口,它提供了一套丰富的面向图形的函数库,通过该函数库所提供的接口函数,就可以实现对窗口用户区的绘图操作。
(9)、动态链接库
动态链接库DLL是允许应用程序共享代码和资源的可执行模块,由于采用动态链接库后可以单独对动态链接库进行编辑和调试,因此也有利于程序的模块化设计。

 
 

发表评论:

    大名:
    密码: (游客无须输入密码)
    主页:
    标题:
 
     
   
     
Powered by Oblog.