C 语言预编译 #if #else

  这个方法我一般用来调试的时候用,有时候串口打印信息太多,一条条注释就很麻烦,于是就用这种方法,定义个宏变量,判断宏变量的条件,来达到改变宏变量的值控制那些代码编译,那些不编译的目的,这样就不用一条条代码去注释了。

#define PRINTF 1    //先宏定义个变量
PUTCHAR_PROTOTYPE { while(__HAL_UART_GET_FLAG(&huart2, UART_FLAG_TC) == RESET){}
#if PRINTF /* 当PRINTF为1的时候,不编译串口从定向,;PRINTF为0的时候编译串口重定向*/ #else huart2.Instance->TDR = (uint8_t) ch; #endif return ch; }
原文地址:https://www.cnblogs.com/xingboy/p/10578345.html