c - doxygen 无法在 c 中生成 extern api

标签 c doxygen

我想在头文件中记录外部 API,如下所示

// bar.h
#ifdef __cplusplus
extern "C" {
#endif

/**
 * \memberof bar
 * This is foo
 */    
extern int foo();

#define JUNK_A DONT_DOC_IT
#define JUNK_B DONT_DOC_IT

#ifdef __cplusplus
}
#endif

函数 foo() 定义在存档文件中的某个位置,并且“bar.h”作为用户 API 公开,我想记录它。但 doxygen 无法生成它。 我不想启用 EXTRACT_ALL,因为还有一些其他事情我不想记录它。

如示例代码所示,我已经尝试过 \memberof 但它不起作用。有人可以帮助我吗?

最佳答案

根据@rveerd 的提示,我完成了答案。首先,它需要一个 \file 命令来记录全局对象。在此步骤中,所有对象都已记录,包括我们不想记录的对象。因此,我们需要通过添加 \cond HIDDEN_SYMBOLS 来丢弃不需要的部分。示例代码如下:

/** @file test.h */

#ifdef __cplusplus
extern "C" {
#endif

/**
 * @brief This is foo
 */    
extern int foo();

/** @cond HIDDEN_SYMBOLS */
#define JUNK_A DONT_DOC_IT
#define JUNK_B DONT_DOC_IT
/** @endcond */

#ifdef __cplusplus
}
#endif

关于c - doxygen 无法在 c 中生成 extern api,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39353302/

相关文章:

c++ - C++中的Socket connect()函数解释/Reference operator and Pointers

c - 关于动态内存分配的问题

c - 尝试从排序列表创建新链表时出现段错误 11

c++ - 哪些 C 功能受 C++ 功能影响/源自 C++ 功能?

hyperlink - 自动链接到 doxygen 中方法参数描述中的 Fortran 类

c++ - 在文件描述和主页中使用注释

c - 我可以用C++和C#以及Java做的所有事情吗?

html - 生成单文件 HTML 代码文档

c++ - 狮身人面像 + 氧气 + 呼吸 : How do I get a documentation like the one of Google's Ceres Solver?

syntax - 命名一个 doxygen @ref