有时在整个程序里有太多的printf, 执行起来占用太多时间,去掉有不大好调试,因此需要有条件的打印,
可以重新宏定义printf:
#define xxx
#ifdef xxx
#define DEBUG_PRINT printf
#else
#define DEBUG_PRINT (void) //这个 (void) 不要也可以
#endif
通常来说,以下写法更具一般性:(出处:http://topic.csdn.net/u/20081119/20/0f832601-0e2d-472f-ab6d-209a00d1584c.html)
不过好像gcc支持 g++不行
#ifdef DEBUG
#define dprintf(format, args...) printf(format , ## args)
#else
#define dprintf(format, args...)
#endif
gcc是gnu c的编译器, g++是gnu c++的编译器
在#define中,标准只定义了#和##两种操作。#用来把参数转换成字符串,##则用来连接两个前后两个参数,把它们变成一个字符串。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。