使用 Doxygen 1.8.7,即将升级到 1.8.17。
我正在编辑 C 库中的文档,该库在三个不同的标头中声明了相同的符号。这三个声明具有文档注释,将符号放在具有不同描述的三个不同组中。只要三个标题中没有两个一起使用,C 就可以了。Doxygen 认为它是一个多重声明,发出三个警告,并忽略其中两个定义。
处理这个问题的最佳方法是什么?
我发现的唯一解决方案是https://www.doxygen.nl/manual/faq.html#faq_code中描述的#ifndef/#endif 技巧。这将让我将所有三个符号描述填充到一个符号声明的 Doxygen 注释中,并告诉 Doxygen 忽略另外两个。但是描述只会出现在一组中,这将是三个声明中的一个的正确组。
为了说明这个问题,头文件 aaa.h 有一个这样的声明:
/**
* This little piggy goes to market.
*/
#define PIGGY 3.1415926
头文件 bbb.h 有这个:
/**
* This little piggy stays home.
*/
#define PIGGY 0.0
头文件 ccc.h 有这个:
/**
* This little piggy eats roast beef, or is a vegetarian and doesn't eat
* beef at all.
*/
#define PIGGY -1.0
有没有更好的办法?
告诉工程师清理代码不是解决方案。我处于一种工作文化中,工程师不太可能根据编辑的要求更改代码。我们在发布周期中为时已晚,即使他们同意,他们也无法这样做。