c++日志输出行号和文件

#define __log(...)                  \
    do                              \
    {                               \
        printf(__VA_ARGS__);        \
    } while(0)      

#define __format(__fmt__) "%d " __fmt__ "\n"

#define log(__fmt__, ...)                                  \
    do                                                     \
    {                                                      \
        __log(__format(__fmt__), __LINE__,__FILE__,##__VA_ARGS__);  \
    }while(0)

#include 
void main() {
	log("Hello %s", "world");
	getchar();
}

将日志输出的行号和文件详细打印出来,方便debug调试

 

方法二

//定义LOG宏来记录代码位置中一些信息,程序员可以根据stderr产生的日志追索到代码中产生
//这些记录的位置。引入这样的特性,对于轻量级调试,简单的错误输出都是有积极意义的
#define LOG(...) {\
	fprintf(stderr,"%s:line %d:\t",__FILE__,__LINE__);\
	fprintf(stderr,__VA_ARGS__);\
	fprintf(stderr,"\n");\
}

int main()
{
	int x = 3;
	LOG("x = %d", x);
	getchar();
}

 

你可能感兴趣的:(C++,代码调试)