#ifdef DEBUG#define dbg_info(fmt, args...) printf(fmt, #args)#else#define dbg_info(fmt, args...)#endif#define dbg_err(fmt, args...) printf(fmt, #args)
否则什么?就是那儿看不懂
追答否则就会被替换成“啥也没有”,因为是啥也没有,所以我没写任何东西。
我以为你能理解
刚才追答显示不出来吗?
如果定义了宏DEBUG,那么代码里所有你写dbg_info的调用,都会被替换成printf
否则,被替换成啥也没有。
这样的好处是,只要你定义DEBUG,编译一遍,就能得到一个日志很多的版本,
你去掉DEBUG的定义,再编译一次,就能得到一个日志很少的版本。
避免了你改动多处代码。
可是这个函数dbg_info(fmt, args...)没有申明啊
追答应该是在其他源文件中定义了