预编译方法总结:
C语言中的预编译指令包括:#if、#ifdef、#ifndef、#else、#elif、#endif、#define、#undef、defined。
#if: 编译预处理中的条件命令,相当于C语法中的if语句
#ifdef: 判断某个宏是否被定义,若已定义,执行随后的语句
#ifndef 与#ifdef相反,判断某个宏是否未被定义
#elif: 若#if,#ifdef,#ifndef或前面的#elif条件不满足,则执行#elif之后的语句,相当于C语法中的else-if
#endif: #if,#ifdef,#ifndef对应,若这些条件不满足,则执行#else之后的语句,相当于C语法中的else
#ifndef aaa_H
#define aaa_H
…………
#endif
此为条件编译,是根据实际定义宏(某类条件)进行代码静态编译的手段。可根据表达式的值或某个特定宏是否被定义来确定编译条件。例如a.h中包含c.h,我们在.cpp文件中同时引用a.h和c.h文件,这样就会定义以上语句,这样的话就会重复引入c.h文件。有些头文件不会报错只是增加了编译的工作量,不会引起太大的错误,但是编译效率会降低。不管怎样还是要加上比较好。