#ifdef 和 #if defined

来源:互联网 发布:徐老师的淘宝店网址 编辑:程序博客网 时间:2024/06/05 18:08

#ifdef大家都比较熟悉,作为一个预编译开关,判读一个变量是否定义。例如

#ifdef OUT_STD

printf("xxxxxx");

#endif


我们可以在代码中 #define OUT_STD或者在makefile中 -DOUT_STD,有的时候我们可能需要判读一个组合的条件,例如 OUT_STD和OUT_FILE只要有一个定义就执行,

这个时候使用#ifdef OUT_STD || OUT_FILE是不起作用的,这里就需要使用#if defined了,他们的区别就是#if defined可以判读复杂的组合条件,例如上面的例子

#if defined(OUT_STD)  || defined(OUT_FILE)

printf("xxxxxx");

#endif


原创粉丝点击