gpt4 book ai didi

C 文档 : help Doxygen recognize class structure

转载 作者:行者123 更新时间:2023-11-30 17:47:51 24 4
gpt4 key购买 nike

我有一个 C 库,我想为其自动生成一些 API 文档。 Doxygen 似乎是此类事情的事实上的工具,因此我编写了几个玩具类(使用与我的库相同的编码风格)来测试它。关于编码风格的一些注意事项:

  • 每个类都有一个头文件 (.h),其中包含类数据结构的 typedef 和所有类方法的原型(prototype)。这是我希望图书馆的用户能够看到的信息。
  • 相应的.c 文件包含完整的数据结构定义以及所有类方法的实现。实现的细节不应出现在 API 文档中。
  • 参见https://github.com/standage/doc-test玩具示例代码。

当我在我的示例上运行 Doyxgen 时,我得到的是:http://standage.github.io/doc-test 。生成的文档有点困惑——有一个数据结构列表和一个文件列表。理想情况下,我想要的是一个类列表,其中每个类页面显示与该类关联的函数/方法,并且类名称链接到该类的详细信息页面。使用 Doxygen(或任何其他工具)可以实现这一点吗?

最佳答案

Doxygen 支持“C 类”文档 - 只需添加

  1. 指向包含其数据成员的结构的 \class 指令
  2. 其函数的 \memberof 指令
  3. \public\private 指令到函数/成员

示例:

/** This is My Class!
\class MyClass
*/
typedef struct MyClass
{
/** This is member A
\private
*/
int memberA;
/** This is member B
\private
*/
int memberB;

} MyClass;

/** A private member function of MyClass
\param i Some value
\private
\memberof MyClass
*/
static void MyClass_privateFunction(struct MyClass* this, int i)
{
}

/** A public member function of MyClass
\param j Some other value
\public
\memberof MyClass
*/
void MyClass_publicFunction(struct MyClass* this, int j)
{
}

如果将 Doxygen 的 EXTRACT_PRIVATE 设置为 NO,则仅记录公共(public)部分。

关于C 文档 : help Doxygen recognize class structure,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18789922/

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