设为首页  
联系我们  
加入收藏  
网页制作 冲浪宝典 图形图像 操作系统 软件教学 编程开发 认证考试 安全技术 站长专区 文学驿站 娱乐天地 游戏天地 办公软件
文章搜索
您的位置: 首页 >> 文章首页 >> 编程开发 >> 游戏开发 >> 《Windows游戏编程大师技巧》(第二版)第2章
精品推荐
游戏开发点击TOP10
·DirectX5.0最新游戏编程指南 DirectDraw教程篇 二、第一个DirectDraw实例
·用Excel编写小游戏
·五子棋的原代码
·游戏开发方面相关的电子书下载
·游戏文件系统的解决方案
·基于LOD的大规模真实感室外场景实时渲染技术的初步研究 part II&III
·用MFC构造DirectX应用框架
·游戏开发开门
·《Windows游戏编程大师技巧》(第二版)第11章
·DirectX8.1的DirectDraw7研究手记(三)
编程开发点击TOP10
·数字小键盘指法练习
·ASP.NET 程序中常用的三十三种代码
·用C语言编通讯录程序(初学者级别的)
·我写的Java学生成绩管理系统源代码
·CHK文件恢复工具
·Modem 常用AT指令集
·java笔试题
·异常java.sql.SQLException: Io exception:The Network Adapter could not establish connection
·单片机模拟I2C总线及24C02(I2C EEPROM)读写实例(源代码)
·C++经典电子书下载
精选专题

《Windows游戏编程大师技巧》(第二版)第2章

作者: 来源:网络文章 时间:2005-12-17 22:39:08

《Windows游戏编程大师技巧》(第二版)第2章(7) 程序清单2-2:第一个Windows程序
// DEMO2_2.CPP - a simple message box
#define WIN32_LEAN_AND_MEAN

#include <windows.h>        // the main windows headers
#include <windowsx.h>       // a lot of cool macros

// main entry point for all windows programs
int WINAPI WinMain(HINSTANCE hinstance,
HINSTANCE hprevinstance,
LPSTR lpcmdline,
int ncmdshow)
{
// call message box api with NULL for parent window handle
MessageBox(NULL, "THERE CAN BE ONLY ONE!!!",
"MY FIRST WINDOWS PROGRAM",
MB_OK MB_ICONEXCLAMATION);
// exit program
return(0);
}  // end WinMain
要编译该程序,按照下面步骤:
1. 创建新的Win32 .EXE工程并包含CD-ROM上T3DCHAP02\下的DEMO2_2.CPP。
2. 编译和连接程序。
3. 运行!(或在CD-ROM上直接运行预编译版本DEMO2_2.EXE。)
你一定一直都以为一个基本的Windows程序至少有几百行代码。当你编译并运行这个程序的时候时,会看到如图2-5所示的内容。
图2-5:Running DEMO2_2.EXE
 
程序剖析
现在已经有了一个完整的Windows程序,让我们一行一行地分析程序的内容。首先第一行程序是
#define WIN32_LEAN_AND_MEAN
这个应稍微解释一下。创建Windows程序有两种方式——使用Microsoft基础类库(Microsoft Foundation Classes,MFC),或者使用软件开发工具包(Software Development Kit,SDK)。MFC完全基于C++和类,要比以前的游戏编程所需的工具复杂得多,功能足够强大和复杂,足以应付游戏的需要。而SDK是一个可管理程序包,可以在一到两周内学会(至少初步学会),并且它使用正统的C语言。因此,我在本书中所使用的工具是SDK。
WIN32_LEAN_AND_MEAN指示编译器(实际上确定了头文件的包含逻辑)不要包含我们并不需要的MFC内容。现在我们又离题了,回来继续看程序。
接着,以下列出的头文件被包含了:
#include <windows.h>

#include <windowsx.h>
第一个包含“windows.h”实际上包括所有的Windows头文件。Windows有许多这样的头文件,这就有点像批量包含,可以节省许多手工包含成打的显式头文件的时间。
第二个包含“windowsx.h”是一个含有许多重要的宏和常量的头文件,该文件可以简化Windows编程。
下面就到了最重要的部分——所有Windows应用程序的主要入口位置WinMain():
int WINAPI WinMain(HINSTANCE hinstance,
HINSTANCE hprevinstance,
LPSTR lpcmdline,
int ncmdshow);
首先,应当注意到奇怪的WINAPI声明符。这等同于PASCAL函数声明符,它强制参数从左边向右边传递,而不是像默认的CDECL声明符那样参数从右到左转移。但是,PASCAL调用约定声明已经过时了,WINAPI代替了该函数。必须使用WinMain()的WINAPI声明符;否则,将向函数返回一个不正确的参数并终止开始程序。
检查参数
下面让我们详细看一下每个参数:
• hinstance— 该参数是一个Windows为你的应用程序生成的实例句柄。实例是一个用来跟踪资源的指针或数。本例中,hinstance就像一个名字或地址一样,用来跟踪你的应用程序。

1.《Windows游戏编程大师技巧》(第二版)第2章(1)
2.《Windows游戏编程大师技巧》(第二版)第2章(2)
3.《Windows游戏编程大师技巧》(第二版)第2章(3)
4.《Windows游戏编程大师技巧》(第二版)第2章(4)
5.《Windows游戏编程大师技巧》(第二版)第2章(5)
6.《Windows游戏编程大师技巧》(第二版)第2章(6)
7.《Windows游戏编程大师技巧》(第二版)第2章(7)
8.《Windows游戏编程大师技巧》(第二版)第2章(8)
9.《Windows游戏编程大师技巧》(第二版)第2章(9)
10.《Windows游戏编程大师技巧》(第二版)第2章(10)
11.《Windows游戏编程大师技巧》(第二版)第2章(11)
12.《Windows游戏编程大师技巧》(第二版)第2章(12)
13.《Windows游戏编程大师技巧》(第二版)第2章(13)
14.《Windows游戏编程大师技巧》(第二版)第2章(14)
15.《Windows游戏编程大师技巧》(第二版)第2章(15)
16.《Windows游戏编程大师技巧》(第二版)第2章(16)
17.《Windows游戏编程大师技巧》(第二版)第2章(17)
18.《Windows游戏编程大师技巧》(第二版)第2章(18)
19.《Windows游戏编程大师技巧》(第二版)第2章(19)
20.《Windows游戏编程大师技巧》(第二版)第2章(20)
21.《Windows游戏编程大师技巧》(第二版)第2章(21)
22.《Windows游戏编程大师技巧》(第二版)第2章(22)
23.《Windows游戏编程大师技巧》(第二版)第2章(23)
24.《Windows游戏编程大师技巧》(第二版)第2章(24)
25.《Windows游戏编程大师技巧》(第二版)第2章(25)
26.《Windows游戏编程大师技巧》(第二版)第2章(26)
27.《Windows游戏编程大师技巧》(第二版)第2章(27)
28.《Windows游戏编程大师技巧》(第二版)第2章(28)
29.《Windows游戏编程大师技巧》(第二版)第2章(29)
共29页 9 7 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [298 :>

《Windows游戏编程大师技巧》(第二版)第2章 相关文章:
《Windows游戏编程大师技巧》(第二版)第2章 相关软件:
特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
转载请注明来源:http://www.xgdown.com