#ifndef #define #endif ---含义

 

头文件   " #ifndef   OMG_H       //"if not define omg.h"  如果不存在omg.h  (不区分大小写)

                #define   OMG_H      //"define omg.h"             否则定义omg.h      (#endif 意思是否则不需要引入)

                #endif"----------主要目的是防止头文件的“重复包含和编译”,即一个头文件在同一个cpp文件中被include多次。

                                          以上错误多因为include多次嵌套重复冗余造成。eg:  周星驰.h文件中#include"如花.h";

                                                                                                                           但,吴孟达.cpp   中导入#include"周星驰.h"  and #include"如花.h"

                                                                           从上面可以看到“如花.h”被重复引用

头文件被多次重复引用会导致以下问题:

1》增加了编译过程中的工作量,降低了编译效率,尤其对于大工程编译而言是灾难!

2》部分头文件重复包含会报错,例如全局变量的重复定义。

      注---不一定所有的文件都需要添加以上三行。

                                          

posted @ 2017-07-19 15:06  心沉大海-汇聚成一  阅读(243)  评论(0编辑  收藏  举报