gpt4 book ai didi

doxygen - Doxygen 是否可以从生成的 XML 中排除未记录的函数?

转载 作者:行者123 更新时间:2023-12-04 08:33:08 24 4
gpt4 key购买 nike

我只想为具有 Doxygen 注释的代码生成文档。我创建了一个 Doxyfile通过 Doxygen 版本 1.8.9.1 并将其配置为仅输出 XML 并隐藏所有未记录的代码:

GENERATE_HTML          = NO
GENERATE_LATEX = NO
GENERATE_XML = YES
HIDE_UNDOC_MEMBERS = YES
HIDE_UNDOC_CLASSES = YES

之后我创建了一个简单的 C 头文件 test.h带有一个记录和一个未记录的函数声明:
void foo(int a);

/**
* "bar" function description
* @param b sample param
*/
void bar(int b);

通过执行 doxygen我希望只有 bar 的文档包含在生成的 XML 中。不幸的是,生成了这两个函数的文档。是否可以仅为具有 Doxygen 注释的代码生成文档?或者,无论设置如何,Doxygen 都会始终在 XML 输出中包含所有内容?

最佳答案

在进一步阅读之前,请确保 EXTRACT_ALL设置为 NO .

我不喜欢以下解决方案,但它确实有效。使用 doxygen 的预处理器

#ifdef PROJECT_NO_DOC
void foo(int a);
#endif /* PROJECT_NO_DOC */

/**
* * "bar" function description
* * @param b sample param
* */
void bar(int b);

请注意,在他们的文档中,您必须设置一个 PREDEFINED 宏,但至少在我的 doxygen 版本中,这不是必需的。他们的文档指定这样做 set a predefined macro in the config to do it for you
#ifndef DOXYGEN_SHOULD_SKIP_THIS

/* code that must be skipped by Doxygen */

#endif /* DOXYGEN_SHOULD_SKIP_THIS */

在应该隐藏并放置的 block 周围:
PREDEFINED = DOXYGEN_SHOULD_SKIP_THIS

在配置文件中,只要 doxygen 跳过所有 block
ENABLE_PREPROCESSING = YES

还有其他方法,但它们带有额外的约束,即确保您的公共(public)文档中没有出现静态方法,您可以设置 EXTRACT_STATICNO .

关于doxygen - Doxygen 是否可以从生成的 XML 中排除未记录的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36979708/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com