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 <stdio.h>
void main() {
	log("Hello %s", "world");
	getchar();
}

將日誌輸出的行號和文件詳細打印出來,方便debug調試

根據原創改版

https://blog.csdn.net/fenjiehuang/article/details/79445593

 

方法二

//定義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();
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章