条件编译/条件宏定义_diyouhuo的专栏-CSDN博客 https://blog.csdn.net/diyouhuo/article/details/6481959
- #ifdef //若已定义了此宏,则留下#ifdef与#endif间的指令;否则删除之。
- #ifndef //若未定义过此宏,则留下#ifndef与#endif间的指令;否则删除之。
- #endif //定义#ifdef及#ifndef的范围。
- #undef //与#defined相反的动作—解除定义。
- #else //可构成#ifdef #else #endif结构或#ifndef #else #endif结构。
#ifdef与#if的区别
#if 宏:此宏必须已定义,依宏所代表的值来做判断;
#ifdef 宏:此宏不一定已定义,依此宏是否已定义来判断。
#if的用法:
#if NNN
statement1;
#elif MMM
statement2;
#else
statement3;
#endif
#ifndef的用法
#ifndef __INIT__
#define __INIT__
#endif