#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();
}