我想用doxygen记录一个库。文档将由两类人员阅读:用户,他们只对外部API和想要查看所有功能/结构文档的开发人员感兴趣。
我想用来分隔doxyfiles来创建文档。是否有一些“标记”我可以放在注释块中将注释标记为内部/外部?
答案 0 :(得分:18)
设置 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
以您想要的任何粒度(文件,函数等)。
答案 1 :(得分:12)
使用 \ cond 命令:
\internal
(@internal
)仅具有当前评论块的粒度。它不允许您以任何方式隐藏C中的结构定义。
最简单的方法是放
\ cond INTERNAL
位于内部头文件的顶部,
\ ENDCOND
在底部。然后,在配置文件中添加
ENABLED_SECTIONS = INTERNAL
允许内部项目包含在文档中。
Doxygen用户也推荐这种方式,例如: here
答案 2 :(得分:2)
这是一个简单的解决方案,它利用了您通常可以将代码的内部和外部部分区分为文件的事实。
您可以简单地将输入文件限制为您希望在外部文档中公开的那些头文件:
# 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
)。