对于单片机开发来说,如stm8 stm32,代码中加入过多的打印会影响效率,但是不加打印影响代码的调试,因此,控制代码的打印显得尤为重要。直接看代码,没啥好解释的。粘贴复制就是干吧。
注意:我是在window上面的clion中测试的,因此又sleep(1)这个函数可以使用
#define PRINT_DEBUG_LEVEL 3 // 控制打印的等级
unsigned char SHUT_DOMW_PRINT = 1; // 0 是关闭所有打印 非零是打开打印
#if (PRINT_DEBUG_LEVEL > 2)
#define printf_debug(...) if(SHUT_DOMW_PRINT != 0) {printf(__VA_ARGS__);}
#else
#define printf_debug(...)
#endif
int main(int argc, char * argv[])
{
while (1)
{
printf_debug("you win !!!\n");
Sleep(1000);
}
}