[C]深入解析条件式日志宏的设计原理

代码解释:条件式日志宏

这段代码定义了一个名为 log_info 的宏,用于在满足特定条件时输出信息级别的日志。让我逐行解释它的工作原理:

宏结构分析

#define log_info(format, ...)       \
    if (LOG_IS_ENABLE(LOG_INFO)) \
        log_print(__LOG_INFO,NULL,"[Info]: " _LOG_TAG format "\r\n", ## __VA_ARGS__)

这个宏包含三个主要部分:

  1. 宏名称和参数

    log_info(format, ...)
    
    • format:日志消息的格式字符串(如 "温度: %d°C"
    • ...:可变参数列表,对应格式字符串中的占位符
  2. 条件判断

    if (LOG_IS_ENABLE(LOG_INFO))
    
    • LOG_IS_ENABLE:一个判断日志级别是否启用的宏或函数
    • LOG_INFO:表示信息级别的常量
    • 只有当该日志级别被启

你可能感兴趣的:(c语言,单片机,stm32)