我正在使用 doxygen 记录我的 C 代码。为了更好的可读性,我将每个 .c/.h 文件对(有时还有更多文件)的文档分组为defgroup
and addtogroup
(see c 中的 doxygen:定义分组 https://stackoverflow.com/questions/27840411/doxygen-in-c-grouping-of-defines)。
文件页面看起来不错,但在组/模块页面上,所有变量文档都会加倍。在头文件中声明(使用 extern)并在 .c 文件中定义(在摘要和描述部分中)的每个变量都有 2 个条目。函数和其他所有内容都只列出一次......
如何删除组/模块页面上的重复变量文档?
我的源文件如下所示:
.h 文件:
/** @file
* blabla
* @author bla
*/
/// @addtogroup MY_GRP
/// @{
#define SOMEDEF1 1
/// @name Special defs
/// @{
#define SOMEDEF2 2
/// @}
enum someenum {
foo,
bar
};
extern int some_variables;
extern void some_proc(int baz);
/// @}
.c file:
/** @file
* blabla
* @author bla
*/
/** @defgroup MY_GRP A test group.
* Description
*/
/// @{
#include "my.h"
/// Important variable.
int some_variable;
/** Important proc
* Description
* @param baz need this
*/
void some_proc(int baz) {
// code
}
/// @}
无法真正解决问题,但找到了一个解决方法:
我用INPUT_FILTER
选项与grep -Eve "extern"
(cygwin) 对所有带有“extern”函数或变量声明的行进行排序。
因为我只记录实际的函数实现和变量定义,所以前面带有“extern”的所有内容都没有文档,并且可以从 doxygen 中删除。
这确实还删除了 doxygen 输出中变量的所有重复条目。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)