您的位置:首页 > 编程语言 > C语言/C++

C++下用宏定义调试打印小技巧

2009-03-23 11:02 363 查看
1. 直接打印调试

#ifndef _DEBUG
#define dbgprint(X) printf( #X "=%d/n",(X))
#else
#define dbgprint(X)
#endif

int main(int argc, char* argv[])
{
dbgprint(argc);
return 0;
}

2. 打印调试、日志打印(gcc下支持,vc6不支持,vc8支持可变参数宏)

#define DEBUG
#define LOG_FILE __FILE__".log"

#ifdef DEBUG
#define dbgprint(format,args...) fprintf(stderr, format, ##args)
#define logprint(format,args...) {FILE* fp=fopen(LOG_FILE,"a+");fprintf(fp,"line %d: "format,__LINE__,##args);fclose(fp);}
#else
#define dbgprint(format,args...)
#define logprint(format,args...)
#endif
3. vfprintf
void _db_print(const char *format,...)
{
va_list args;
va_start(args, format);
vfprintf(stderr,format, args);
va_end(args);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: