【问题标题】:Configure Doxygen to hide certain names or keywords配置 Doxygen 以隐藏某些名称或关键字
【发布时间】:2010-06-25 17:31:30
【问题描述】:

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

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

出于文档目的,我想让 Doxygen 将 libname_debug 排除在函数文档之外。它使函数列表变得混乱,使得查看每个函数的返回类型变得更加困难。

是否可以以某种方式标记文件,以便 Doxygen 将那个符号排除在外?目前,我将每个实例包装在 @cond/@endcond 中:

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

但这很麻烦,并且会在源代码中添加额外的标记。

【问题讨论】:

    标签: c doxygen


    【解决方案1】:

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

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

    【讨论】:

    • +1 表示清楚。但是libname_debug= 的最后一个“相等”呢?它是否正确?谢谢。
    • libname_debug= 是正确的,这意味着宏 libname_debug 用“空扩展”扩展。请查看链接的 doxgen 页面。
    【解决方案2】:

    您可以在 doxygen 配置文件中定义宏。像这样的

    PREDEFINED += libname_debug
    

    【讨论】:

    • 谢谢,这是我需要的起点。如果已经定义了 libname_debug,我必须更新源以不定义它,将其添加到 PREDEFINED 列表中,然后打开 MACRO_EXPANSION 和 EXPAND_ONLY_PREDEF。我希望 EXCLUDE_SYMBOLS 中的 *_debug 模式能起作用,但事实并非如此。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-05-15
    • 2013-02-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多