序
在实际的项目工程中免不了多多少少添加一些函数的打印,但不知不觉打印添加的有点多,影响运行速度,但我们又不想全注释掉,以免下次调试用。如果我们提前统一打印宏,开关打印一瞬间。
#define CONFIG_PRINTF 1 //控制是否开启打印
#if CONFIG_PRINTF
#define PLOG(fmt, ...)\
printf("[xxxx lib]: "fmt"\t", ##__VA_ARGS__ );
printf("[xxxx lib]: Func: %s, Line: %d, "fmt"\t", __FUNCTION__, __LINE__, ##__VA_ARGS__);
#else
#define PLOG() printf("");
#endif
此外、个人觉得fprintf蛮好用的,可以直接将打印信息写到文件中。
#if CONFIG_PRINTF
#define FPLOG(fmt, ...)\
fprintf(fp, "[xxxx lib]: "fmt"\t", ##__VA_ARGS__ );
fprintf(fp, "[xxxx lib]: Func: %s, Line: %d, "fmt"\t", __FUNCTION__, __LINE__, ##__VA_ARGS__);
#else
#define FPLOG() fprintf("");
#endif
//需要全局的文件句柄,即fp应该放到一个公共头文件中,能被所有c文件包含,这样FPLOG随意用;
FILE *fp;
fp = fopen("xxx_lib.log", "w");
参考网址:https://www.tutorialspoint.com/c_standard_library/c_function_fprintf.htm