2016-09-06 33 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