我使用Doxygen多年使用C ++代码。我想将它与我正在使用的一些C代码一起使用,但输出不是最佳的。 " Classes"顶部栏中的选项卡仅显示struct
定义,而不显示文件中的功能。我必须点击"文件"选项卡,然后是头文件的名称,以查看它包含的函数。
有没有办法修改Doxygen的输出,以便它更适合用C编写的代码?或者至少,删除" Classes"选项卡并仅提供"文件"查看?
答案 0 :(得分:5)
您可以设置
OPTIMIZE_OUTPUT_FOR_C = YES
在配置文件中,以获得更加面向C的输出。
答案 1 :(得分:3)
如果您创建除普通配置文件之外的布局文件:
doxygen -l layout.xml
你可以编辑;这控制着界面的基本格式。如果要删除“类”选项卡,请找到:
<tab type="classes" visible="yes" title="Types">
[...]
</tab>
然后将其删除或将visible
更改为“否”。
C函数和数据类型通常以非随机方式组合在文件中,因此单独的“文件”选项卡可能就足够了。如果没有,请使用组:
\ingroup foobar
可以添加到结构和函数定义等。然后你需要一个
\defgroup foobar Description of foobar.
某处。然后由
使用<tab type="modules" visible="yes" title="Modules" intro=""/>
从layout.xml
开始,生成一个可能比“文件”更直观的界面(例如,来自.h
的结构文档和来自.c
的函数文档如果它们位于同一组),类似于“Classes”如何与C ++一起使用。
the doxygen site中有关于此内容的更多内容。
答案 2 :(得分:0)
您可以在以下构造中包含C类MY_C_CLASS的结构和函数声明
我总是在帮助文件中添加该函数的doxygen帮助,以便它与类组一起分组。
/**
* @defgroup MY_C_CLASS
* @brief MY_C_CLASS class
* describe here what it is all about.
* @{
*/
typedef struct tagMY_C_CLASS {
} MY_C_CLASS;
/**
* @brief constructor
* @return status; -1 on failure.
*/
int MY_C_CLASS_init(MY_C_CLASS *void);
/**
* @}
*/