VC++入门问题~

来源:百度知道 编辑:UC知道 时间:2024/05/31 00:40:13
#if !defined(AFX_GPS_H__F4BBD206_FE61_4F38_B1AF_705B7F7508E6__INCLUDED_)
#define AFX_GPS_H__F4BBD206_FE61_4F38_B1AF_705B7F7508E6__INCLUDED_

上面定义里面的---F4BBD206_FE61_4F38_B1AF_705B7F7508E6__INCLUDED
是什么含义呢~?

这是一个你用类向导或应用程序向导生成的类的头文件"gps.h"中的最顶部信息吧。整个文件的结构如下:
#if !defined(AFX_GPS_H__F4BBD206_FE61_4F38_B1AF_705B7F7508E6__INCLUDED_)
#define AFX_GPS_H__F4BBD206_FE61_4F38_B1AF_705B7F7508E6__INCLUDED_

...// 头文件主体
#endif

这个条件编译宏主要用处就是防止本头文件被反复循环包含(只允许其他文件包含一次),因为编程时常常会写出潜在的循环包含代码来。
举个例子:
A.h文件中写了#include "gps.h",
B.h文件写了
#include "A.h"
#include "C.h"
C.h文件写了
#inlude "gps.h"

此时B.h文件中隐式包含了两次"gps.h",会造成编译错误。

至于你的问题中在"AFX_GPS_H__F4BBD206_FE61_4F38_B1AF_705B7F7508E6__INCLUDED_"中的那一串字母,则是VC++的代码生成器随机生成的一串类标识符CLSID,确保了即使你及时有同名的头文件,只要该文件生成时间不同,就不会有相同的类标识,也就不会被认为是同一个头文件。

是产生的宏定义,这个是MFC通过GUID来定义的,目的是只编译一次这个头文件。因为GUID是全球唯一的,重复率几乎没有。它的格式AFX_GPS_H__(GUID)__INCLUDED_

那是随机产生的,主要是为了防止头文件被重复包含倒至重复定义,当你自己写头文件你也可以随便乱打一串,也可以写得规规整整,只要不和其他头文件一样就可以了

你所用编程工具的存储地址代码,刚学VC++就弄这么细,有前途

---F4BBD206_FE61_4F38_B1AF_705B7F7508E6__INC