加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

doxygen是否有可能从生成的xml中排除未记录的函数?

发布时间:2020-12-16 07:45:53 所属栏目:百科 来源:网络整理
导读:我想仅为具有doxygen注释的代码生成文档.我已经通过doxygen v.1.8.9.1创建了一个Doxyfile,并将其配置为仅输出xml并隐藏所有未记录的代码: GENERATE_HTML = NOGENERATE_LATEX = NOGENERATE_XML = YESHIDE_UNDOC_MEMBERS = YESHIDE_UNDOC_CLASSES = YES 之后
我想仅为具有doxygen注释的代码生成文档.我已经通过doxygen v.1.8.9.1创建了一个Doxyfile,并将其配置为仅输出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,我预计只有条形文档才能包含在结果xml中.不幸的是,生成了两个函数的文档.是否可以仅为具有doxygen注释的代码生成文档,或者对于xml输出,doxygen将始终包含所有内容而不管建立什么?

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

我不是以下解决方案的粉丝,但确实有效.使用doxygens预处理器

#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 */

围绕应隐藏和放置的块:

PREDEFINED = DOXYGEN_SHOULD_SKIP_THIS

在配置文件中,只要Doxygen跳过所有块

ENABLE_PREPROCESSING = YES

还有其他方法,但它们带有额外的约束,即确保您的公共文档中不会出现静态方法,您可以将EXTRACT_STATIC设置为NO.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读