#if 1 #define MY_DEBUG(fmt, ...) printf("%s, %d, %s "fmt, __FILE__, __LINE__, __FUNCTION__, ##__VA_ARGS__) #else #define MY_DEBUG(...) #endif
一般在前面加入file://,控制台会形成一个链接让你直接打开报错行,改成这样:
#if 1 #define MY_DEBUG(fmt, ...) printf("file://%s:%d, %s "fmt, __FILE__, __LINE__, __FUNCTION__, ##__VA_ARGS__) #else #define MY_DEBUG(...) #endif
那么也可以让qt的qDebug也做成宏定义printf这种形式,不过中文你就要用GBK编码C++文件了:
#if 1 #define MY_DEBUG(fmt, ...) qDebug("file://%s:%d, %s "fmt, __FILE__, __LINE__, __FUNCTION__, ##__VA_ARGS__) #else #define MY_DEBUG(...) #endif