这些代码是什么意思啊???#if !defined(AFX__H__72409B11_2D53_4D4E_B5EF_09D1042356BE__INCLUDED_)
#define AFX__H__72409B11_2D53_4D4E_B5EF_09D1042356BE__INCLUDED_这些代码中间,为什么有的有一个下划线,有的有两个,他们各是什么意思?
还有,后面的那一数字和下划线的组合是什么意思啊?
各位大侠能否给我详细解释解释??
另外,在这上面怎么给分啊?
每次都说我所给的分数与总合不合,不懂了
再次请教 ;
#define AFX__H__72409B11_2D53_4D4E_B5EF_09D1042356BE__INCLUDED_这些代码中间,为什么有的有一个下划线,有的有两个,他们各是什么意思?
还有,后面的那一数字和下划线的组合是什么意思啊?
各位大侠能否给我详细解释解释??
另外,在这上面怎么给分啊?
每次都说我所给的分数与总合不合,不懂了
再次请教 ;
AFX__H__72409B11_2D53_4D4E_B5EF_09D1042356BE__INCLUDED_ 这可以看作是一个变量名字,尽管是宏定义
#if !defined(AFX__H__72409B11_2D53_4D4E_B5EF_09D1042356BE__INCLUDED_)
#define AFX__H__72409B11_2D53_4D4E_B5EF_09D1042356BE__INCLUDED_
这段代码的意思就是
如果还没有定义 AFX__H__72409B11_2D53_4D4E_B5EF_09D1042356BE__INCLUDED_
那么就定义 AFX__H__72409B11_2D53_4D4E_B5EF_09D1042356BE__INCLUDED_
接下来底下应该还有更多具体的定义的一般这些宏定义是放在头文件里的,为了防止重复定义
因为#if !defined 的目的是防止该.h文件被重复的包含,相当于#pragma once,如果你把上面的字符串写成你自己定义的就可能与其他头文件重复,将导致如果一个.cpp同时包含两个相同字符串定义的.h文件,那么只有一个.h文件被包含,另外一个将被忽略。
这样看来就可以理解为什么了。
72409B11_2D53_4D4E_B5EF_09D1042356BE确实是用GUIDGEN.EXE产生的COM中的GUID,下划线只是把他们连接起来,这个看COM的书就知道了。
是标识头文件的
之所以有这样的标识,是为了在编译的时候只编译一次
因为用户有可能多次包含头文件,否则会重复编译,结果就出错了
AFX__H__72409B11_2D53_4D4E_B5EF_09D1042356BE
前面部分是文件名,点(.)用下划线(_)表示,后面是随机产生的GUID