#if,#ifdef和#if defined对比一下
#if要求是一个表达式,为真则执行以下代码.
例如:
#if 0
/* some code here */
#endif
#ifdef则只要求是否定义,并不关心这个值是什么。
例如:
#ifdef _SUM_OF_COUNTER_
#include<math.h>
#endif
#if defined则是#if和#define的连用,它关心是否定义了,并且是否值为真,还有不同的是#if defined 可以串联多个条件,注意使用时要带()。
例如:
#if defined( _SUM_OF_COUNTER_ )
#include "math.h "
#endif
#if defined( _SUM_OF_COUNTER_ ) || defined( _SUM_OF_COUNTER2_ )
#include "math.h "
#endif
#if要求是一个表达式,为真则执行以下代码.
例如:
#if 0
/* some code here */
#endif
#ifdef则只要求是否定义,并不关心这个值是什么。
例如:
#ifdef _SUM_OF_COUNTER_
#include<math.h>
#endif
#if defined则是#if和#define的连用,它关心是否定义了,并且是否值为真,还有不同的是#if defined 可以串联多个条件,注意使用时要带()。
例如:
#if defined( _SUM_OF_COUNTER_ )
#include "math.h "
#endif
#if defined( _SUM_OF_COUNTER_ ) || defined( _SUM_OF_COUNTER2_ )
#include "math.h "
#endif