为提高调试效率,所以写个函数代替printf
可以用宏控制调试信息的输出与否
下面是该函数的实现,可以实现所需功能:
11 #ifdef DEBUG
12 #define FUN(fmt, args...) fun(fmt, ##args)
13 #else
14 #define FUN(fmt, args...)
15 #endif
#include<stdio.h>
#include <stdarg.h>
void fun(const char* fmt,...)
{
va_list ap;
va_start(ap, fmt);//将ap指向fmt后的第一个参数
vfprintf(stderr,fmt,ap);
va_end(ap);//将ap置为NULL
}
后听同事告知一经典办法
在程序前加上一句
#define printf
就可屏蔽所有printf的输出。
呵呵