配置Doxygen以隐藏特定名称或关键字。

6

我刚刚开始使用Doxygen,并对此进行了广泛的搜索,如果有明显的答案,请原谅我。

我正在开发一个嵌入式项目,函数可以在返回类型之前被标记为debugnodebug。在我们的大多数库中,我们使用条件宏在文件顶部设置libname_debugdebugnodebug,然后每个函数都以libname_debug为前缀。

出于文档编写目的,我希望Doxygen在函数文档中省略libname_debug。它使函数列表变得混乱,更难查看每个函数的返回类型。

是否有可能以某种方式标记文件,以便Doxygen将该符号省略?目前,我正在用@cond/@endcond包装每个实例:

/** @cond */ libname_debug /** @endcond */

但这很麻烦,而且会给源代码添加额外的标记。

2个回答

6

还有一个doxygen页面,解释如何处理这种情况。您需要启用MACRO_EXPANSION(默认为NO),告诉doxygen仅扩展某些宏(EXPAND_ONLY_PREDEF),并将您的符号添加为带有空扩展的宏:

ENABLE_PREPROCESSING   = YES
MACRO_EXPANSION        = YES
EXPAND_ONLY_PREDEF     = YES
PREDEFINED             = libname_debug=

+1 因为清晰易懂。但是 libname_debug= 中的最后一个 "equal" 是什么意思?这正确吗?谢谢。 - DrBeco
如果 libname_debug= 是正确的,那么它意味着宏 libname_debug 会被“空扩展”。请查看链接的 Doxygen 页面。 - Micha Wiedenmann

2
您可以在doxygen配置文件中定义宏。例如:
PREDEFINED += libname_debug

谢谢,这是我需要的起点。我必须更新源代码,如果已经定义了libname_debug,则不定义它,将其添加到PREDEFINED列表中,然后打开MACRO_EXPANSION和EXPAND_ONLY_PREDEF。我希望在EXCLUDE_SYMBOLS中使用*_debug模式,但事实并非如此。 - tomlogic

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接