我想用 doxygen 记录一个库。文档将由两类人阅读:仅对外部 API 感兴趣的用户和希望查看所有函数/结构的文档的开发人员。
我想用分隔 doxyfiles 来创建文档。是否有一些“标签”可以放在评论块中以将评论标记为内部/外部?
我想用 doxygen 记录一个库。文档将由两类人阅读:仅对外部 API 感兴趣的用户和希望查看所有函数/结构的文档的开发人员。
我想用分隔 doxyfiles 来创建文档。是否有一些“标签”可以放在评论块中以将评论标记为内部/外部?
设置INTERNAL_DOCS:
# The INTERNAL_DOCS tag determines if documentation
# that is typed after a \internal command is included. If the tag is set
# to NO (the default) then the documentation will be excluded.
# Set it to YES to include the internal documentation.
INTERNAL_DOCS = NO
在文档中,您可以使用\internal
或@internal
以任何您想要的粒度(文件、函数等)。
使用\cond命令:
\internal
( @internal
) 仅对当前评论块具有粒度。它不允许您以任何方式隐藏 C 中的结构定义。
最简单的方法是把
\cond 内部
在内部头文件的顶部和
\endcond
在底部。然后,在您的配置文件中,添加
ENABLED_SECTIONS = 内部
允许将内部项目包含在文档中。
Doxygen 用户也推荐这种方式,例如这里
这是一个简单的解决方案,它利用了您通常可以将代码的内部和外部部分区分为文件的事实。
您可以简单地将输入文件限制为仅要在外部文档中公开的那些头文件:
# For internal, we parse all files
INPUT = ./
# For external, we parse only the files containing the public interface
INPUT = include/header1.hpp include/header2.hpp
这样做的好处是不必修改源文件(使用\internal
或@internal
)。