1、#ifdef的使用
#ifdef _XXXX
...程序段1...
#else
...程序段2...
#endif
如果标识符_XXXX已经被#define定义,则编译程序段1,否则编译程序段2.#else非必须,可不存在程序段2。
2. #ifndef
#ifndef _XXXX
...程序段1...
#else
...程序段2...
#endif
与#ifdef相反,即#if not define.如果标识符_XXXX没有被#define定义,则编译程序段1,否则编译程序段2,同样#else非必须,可不存在程序段2。
3、#if 常量
#if 常量
...程序段1...
#else
...程序段2...
#endif
常量为真(非0),就编译程序段1,否则编译程序段2。注意这里是编译阶段,所以使用0,1这样的常量更合适,使用#if 0和#endif的结合可以用来注释代码,比/* …程序段…/注释更方便,可不受代码段中的局限.在字符串全局匹配时难免会用到匹配字符.
4、注释用法
#if 0
...程序段...
#endif
上面方法就实现了对程序段的注释屏蔽,解除屏蔽只需要将#if 0改为# if 1即可.