ARTICLE DETAIL

资讯详情

深耕商务建站与企业官网运营的一线实战洞察。

条件编译指令 #define #undef #ifdef #ifndef #endif

条件编译指令 #define #undef #ifdef #ifndef #endif 条件编译指令定义与取消定义描述代码定义AAA为111#define AAA 111定义AAA, 但没定义AAA的值#define AAA取消定义AAA#undef AAA选择定义如果定义了AAA, 那么就定义ZZZ为222#ifdef AAA#define ZZZ 222#endif如果没有定义AAA, 那么就定义ZZZ为222#ifndef AAA#define ZZZ 222#endif如果定义了AAA并且定义了BBB, 那么就定义ZZZ为222#if defined(AAA) defined(BBB)#define ZZZ 222#endif如果定义了AAA或者定义了BBB, 那么就定义ZZZ为222#if defined(AAA) || defined(BBB)#define ZZZ 222#endif如果定义了AAA并且没有定义了BBB, 那么就定义ZZZ为222#if defined(AAA) (!defined(BBB))#define ZZZ 222#endif||和也可以混合使用, 为了避免逻辑混乱, 最好加上必要的括号也可以结合#elif,#else一起使用, 相当于if - else if - else结构中的else if,else#if (defined(AAA) defined(BBB)) || defined(CCC)#define ZZZ 222#elif (defined(AAA) defined(BBB)) || (!defined(CCC))#define ZZZ 333#else#define ZZZ 444#endif典型用法在xxx.h文件中, 通常会使用以下方式避免头文件的重复包含// xxx.h #ifndef _XXX_H_ #define _XXX_H_ ... #endif
返回列表
PREV
查看更多资讯
NEXT
返回资讯列表