Keil中使用宏编译来定义DEBUG输出

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

#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

 

你可能感兴趣的:(debug)