实现如下:
#define _DEBUG_PRINTF
#ifndef _DEBUG_PRINTF
#ifndef EMBARC_PRINTF
#include <stdio.h>
//#define EMBARC_PRINTF printf
#define EMBARC_PRINTF (format,...) printf("FILE: " __FILE__ ", LINE: %d: " format "\n", __LINE__, ##__VA_ARGS__)
#endif
#else
#define EMBARC_PRINTF(format,...)
#endif
预定义宏:
参看:C语言再学习 – C 预处理器
__FILE__, __LINE__为ANSI C标准预定义宏。ANSI C包含的标准预定义宏有:
__LINE__:当前源代码行号;
__FILE__:当前源文件名;
__DATE__:当前的编译日期
__TIME__:当前编译时间;
__STDC__:当要求程序严格遵循ANSI C标准时该标识被赋值为1;
__cplusplus:当编写C++程序时该标识符被定义。
这样,用EMBARC_PRINTF 后所有的printf信息会按照如下格式输出:
FILE: xxx, LINE: xxx, …….
————————————————
版权声明:本文为CSDN博主「聚优致成」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_29350001/article/details/129694485
|