使用宏编译来格式化调试信息,是一个不错的方法,即可以在需要的时候打印出信息,还可以格式化我们所需要的输出。

#define DEBUG   1
#if (DEBUG == 1) 
#define DBG(Args...) printf(##Args)
#define DBGFL(s, Args...) printf("[%s:%d]"##s, __FILE__, __LINE__, ##Args)
#else
#define DBG(Args...) 
#define DBGFL(s, Args...) 
#endif

上面的代码放置在每个C文件的头上。

下面是调用DBGFL

    DBGFL("HELOO=%d\r\n", 6458);
    DBGFL("YXX\r\n");

结果

[..\Drivers\User\Src\lis3dh.c:105]HELOO=6458
[..\Drivers\User\Src\lis3dh.c:106]YXX

 

相关文章:

  • 2022-02-01
  • 2022-12-23
  • 2022-12-23
  • 2022-02-11
  • 2021-12-22
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-03-08
  • 2021-06-25
  • 2021-12-10
  • 2021-12-03
  • 2022-12-23
  • 2021-08-19
相关资源
相似解决方案