一,
#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("这是调试!");)