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

 

posted @ 2015-05-01 00:05  Merlin-magic  阅读(1880)  评论(0编辑  收藏  举报