一,

#ifdef _DEBUG_

printf(...);

#endif

这种方式很直观,但麻烦,每次调试都要写#ifdef _DEBUG_和#endif

 

二,

#ifdef _DEBUG_
#define DBGprintf printf
#else
#define DBGprintf /##/

#endif

这种方式也很直观,只需要写一次,比第一种方式好的多。但是本人亲测在C-free里编译不过,在 vc6.0, dec-c++5下可以。。。

有一个地方需要注意:Dbgprintf语句后面不能有其他语句,因为在_DEBUG_在未定义的时候,一律按注释处理。

 

三,

#ifdef _DEBUG_

#define DEBUG(x) x

#else

#define DEBUG(x)

#endif

 

使用方法括号里可以有一条语句,也可以有多条,如

DEBUG(printf("这是调试!");)

DEBUG(printf("这是调试!");printf("这是调试!");)