在一个大的软件工程里面,可能会有多个文件同时包含一个头文件,当这些文件编译链接成一个可执行文件时,就会出现大量重定义的错误。在头文件中实用#ifndef #define #endif能避免头文件的重定义。


方法:例如要编写头文件 DisportStatistics_h


在头文件开头写上两行:


#ifndef  

DisportStatistics_h


#define DisportStatistics_h


//一般是文件名的大写


头文件结尾写上一行:#endif这样一个工程文件里同时包含两个test.h时,就不会出现重定义的错误了。


分析:当第一次包含test.h时,由于没有定义

DisportStatistics_h


,条件为真,这样就会包含(执行


)#ifndefDisportStatistics_h
和#endif之间的代码,当第二次包含test.h时前面一次已经定义了DisportStatistics_h,条件为假,#ifndefDisportStatistics_h
和#endif之间的代码也就不会再次被包含,这样就避免了重定义了。主要用于防止重复定义宏和重复包含头文件


#if DEBUG

xxx内容

#endif

含义为如果当前运行模式在debug模式下才会执行内部的xxx内容