《打印调试》

1.在linux编译中提示引用未定义的_FILE_等宏?

要使用__FILE__。注意是双下划线,书上很多连在一起会误以为是单下划线。

 

2.使用#ifdef DEBUG

在编译的时候要加上-DDEBUG选项

 

 

#include <stdio.h>

#ifdef DEBUG
#define DBG_PRT(format)  \
printf("FILE:%s LINE:%d "format"\n", __FILE__, __LINE);
#endif

#ifndef DEBUG
#define DBG_PRT(format)
#endif

int main()
{
  DEG_PRT("***********");
  return 0;       
}

运行带调试的:gcc -DDEBUG *.c
运行不带调试的:gcc *.c

 

 

#ifdef DEBUG_XD
#define DBG_PRT(x,format,...) \
do{\
if(x == DBG_ON) printf("FILE: %s FUNC: %s LINE: %d "format"\n",__FILE__, __FUNCTION__, __LINE__, ##__VA_ARGS__);\
}while(0);

#else
#define DBG_PRT(x,format,...)
#endif
#endif /* TRACE_H_ */

posted @ 2019-05-16 19:09  一个不知道干嘛的小萌新  阅读(207)  评论(0编辑  收藏  举报