如何配置Doxygen忽略函数内尾随注释?保留RFAL宏定义注释
解决Doxygen解析RFAL库宏注释异常的问题
核心思路
要做到保留宏定义处的/*!<注释,同时让Doxygen别在函数内部解析宏的注释标记,核心是靠Doxygen的宏展开配置来规避错误解析,不用修改RFAL的源码。
具体操作步骤
1. 修改Doxygen配置文件(Doxyfile)
直接在你的Doxyfile里添加/修改这些配置项:
MACRO_EXPANSION = YES:让Doxygen把宏展开成实际值,函数里引用宏时就不会保留原始的/*!<注释标记了EXPAND_ONLY_PREDEF = YES(可选):只展开你指定的宏,避免没必要的全局展开PREDEFINED = RFAL_*:指定展开所有RFAL前缀的宏,精准控制范围
2. 验证配置效果
改完配置后,重新运行Doxygen生成文档:
doxygen Doxyfile
检查两个关键点:宏定义处的/*!<注释是否正常显示在文档中,函数内部引用宏的地方有没有再出现带<的异常注释。
3. 极端情况的补救方案
如果个别宏还是有问题,不想调整全局配置的话,可以在函数里引用宏的时候用Doxygen的条件注释把它包起来,强制忽略解析:
void exampleFunc() { /** @cond */ uint8_t val = RFAL_EXAMPLE_MACRO; // 这段的宏注释会被Doxygen跳过 /** @endcond */ }
不过这种方式需要手动修改代码,能靠配置解决就优先用配置方案。
内容的提问来源于stack exchange,提问作者LimeSlice
相关产品推荐
相关产品推荐

