在一个大的软件工程里面,可能会有多个文件同时包含一个头文件,当这些文件编译链接成一个可执行文件时,就会出现大量重定义的错误。在头文件中实用#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内容
标签:头文件,定义,包含,DEBUG,endif,ifndef,DisportStatistics From: https://blog.51cto.com/u_15952281/6039031