我正在尝试编写最简单的log_debug宏:
#define log_debug(fmt, ...) printf("%s:%d "##fmt, __FILE__, __LINE__, __VA_ARGS__);
主要原因是要获取行号和文件名。但是以某种方式它不起作用(编译错误):
error: pasting ""%s:%d "" and ""error value: %d\n"" does not give a valid preprocessing token
您能给我一个提示吗,还有其他方法可以重写吗?
当然,在C中,相邻的字符串文字会自动连接。怎么样
#define log_debug(fmt, ...) printf("%s:%d " fmt, __FILE__, __LINE__, __VA_ARGS__)
^^ '##' removed
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句