2016-09-06 31 views
0

的extern API欲记录在头文件一个extern API如下doxygen的不能生成在C

// 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,但它不起作用。有人可以帮助我吗?

+0

'\ memberof'与类或'structs'(前者不适用于C代码)相关,而不是文件。 – Olaf

回答

0

您至少需要为文件本身生成文件\file。不过,不知道这是否足以生成extern函数的文档。

0

作为@ 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