printf 调试相关知识
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了printf 调试相关知识相关的知识,希望对你有一定的参考价值。
我们在写程序的时候,一般会加入printf之类的语句来输出调试信息,然而当程序写完之后如何关闭这些调试信息就比较麻烦,这段时间看LoRa相关知识时,发现了官方源码中一个比较好的处理方法,代码如下:
#include <stdio.h> #define DEBUG_LOG 1 #define MSG(args...) printf(args) /* message that is destined to the user */ #define MSG_DEBUG(FLAG, fmt, ...) do { if (FLAG) fprintf(stdout, "%s:%d:%s(): " fmt, __FILE__, __LINE__, __FUNCTION__, ##__VA_ARGS__); } while (0) int main() { char str[]="Hello World"; MSG_DEBUG(DEBUG_LOG, "~~~: %s\\n",str); return 0; }
当不需要输出调试信息时,将DEBUG_LOG置零即可,也可以根据需要多定义几个调试的类型。
编译执行程序:
以上是关于printf 调试相关知识的主要内容,如果未能解决你的问题,请参考以下文章