1、main函数与WinMain函数的区别 main函数:传统的DOS程序以main函数作为程序的入口点; WinMain函数:而在Windows应用程序中,main函数被Winmain函数取而代之。 2、消息驱动机制 DOS程序是通过调用系统的函数来获得用户输入的,Windows程序则是通过操作系统发送的消息来处理用户输入的。 无论是系统产生的动作或是运行应用程序产生的动作,都称为事件(Events)产生的消息(Message)。在应用程序中,通过接收消息、分发消息、处理消息来和用户进行交互。许多消息都经过了严格的定义,并且适用于所有的应用程序。 3、图形设备接口(GDI) DOS环境中,要在打印机上打印一幅图形是非常复杂的事件。Windows则提供了一个抽象的接口,称为图形设备接口(Graphical Device Interface,简称GDI),使得用户直接利用系统的GDI函数就能方便实现输入或输出,而不必关心与系统相连的外部设备的类型。 4、基于资源的程序设计 Windows应用程序常常包含众多图形元素,每一个这样的元素都作为一种可以装入应用程序的资源来存放。这些资源可以被编辑、修改,也可以被其他应用程序所共享。VC中提供的许多编辑器能“所见即所得”地进行不同类型资源的设计、编辑等。 5、动态链接库 提供一些特定结构的函数,能被应用程序在运行过程中装入和连接,多个程序可以共享同一个动态链接库。从编程角度,动态链接库可以提高程序模块的灵活性,它本身是可以单独设计、编译和调试的。 Windows提供了应用程序可利用的丰富的函数调用,大多数用于实现其用户界面和在显示器上显示的文本和图形,都是通过动态链接库来实现的。 Windows中,KERNEL32用来处理存储器低层功能、任务和资源管理等核心服务; GDI32用来提供图形设备接口,管理用户界面和图形绘制;USER32负责窗口的管理。 6、进程和线程 Windows是一个32位多任务操作系统,采用进程和线程的管理模式。 进程是装入内存中正在执行的应用程序。进程包括私有的虚拟地址空间、代码、数据及其它操作系统资源。进程包括了一个或多个在进程上下文内运行的线程。 线程是操作系统分配CPU时间的基本实体。线程可以执行应用程序代码的任何部分,包括当前正在被其它线程执行的那些部分。同一进程的所有线程共享同样的虚拟地址空间、全局变量和操作系统资源。 一个应用程序,包括一个或多个进程,每个进程由一个或多个线程构成。 |
|
来自: 年华似水匆匆 > 《windows应用程序》