3

Cコードをdoxygenで文書化しています。読みやすくするために、すべての .c/.h ファイルのペア (場合によってはさらに多くのファイル) のドキュメントを と でグループ化しますdefgroup( c: 定義のグループ化 をaddtogroup参照)。ファイル ページは問題ないように見えますが、グループ/モジュール ページでは、すべての変数のドキュメントが 2 倍になっています。ヘッダー ファイルで (extern を使用して) 宣言され、.c ファイルで (概要と説明部分で) 定義されている変数ごとに 2 つのエントリがあります。関数と他のすべてが一度だけリストされます...

グループ/モジュール ページの重複変数ドキュメントを削除するにはどうすればよいですか?

私のソースファイルは次のようになります: .h ファイル:

/** @file
*   blabla
*   @author bla
*/
/// @addtogroup MY_GRP
/// @{
#define SOMEDEF1 1
/// @name Special defs
/// @{
#define SOMEDEF2 2
/// @}
enum someenum {
    foo,
    bar
};

extern int some_variables;

extern void some_proc(int baz);

/// @}

.c ファイル:

/** @file
 *  blabla
 *  @author bla
 */
/** @defgroup MY_GRP A test group.
  * Description
  */
/// @{
#include "my.h"

/// Important variable.
int some_variable;

/** Important proc
 *  Description
 *  @param baz need this
 */
void some_proc(int baz) {
// code
}

/// @}
4

2 に答える 2

2

問題を実際に解決することはできませんでしたが、回避策を見つけました。 (cygwin) でINPUT_FILTERオプションを使用しgrep -Eve "extern"て、「extern」関数または変数宣言を含むすべての行を整理します。私は実際の関数の実装と変数の定義のみを文書化するので、その前に「extern」が付いているものはすべて文書化されておらず、doxygen では削除できます。これにより、doxygen 出力内の変数の重複エントリもすべて削除されます。

于 2015-01-30T15:00:13.143 に答える