はい、可能です。Doxygenのドキュメントには次のように書かれています。
グローバルオブジェクト(関数、typedef、列挙型、マクロなど)を文書化するには、それらが定義されているファイルを文書化する必要があります。言い換えれば、少なくとも
/*! \file */
または
/** @file */
このファイルの行。
、、およびを使用して@defgroup
、関連するアイテムが別々のファイルに表示されている場合でも、同じモジュールに入れることができます(詳細については、こちらのドキュメントを参照してください)。これが私のために働く最小限の例です(Doxygen1.6.3を使用):@addtogroup
@ingroup
Doxyfile:
# Empty file.
Test.h:
/** @file */
/**My Preprocessor Macro.*/
#define TEST_DEFINE(x) (x*x)
/**
* @defgroup TEST_GROUP Test Group
*
* @{
*/
/** Test AAA documentation. */
#define TEST_AAA (1)
/** Test BBB documentation. */
#define TEST_BBB (2)
/** Test CCC documentation. */
#define TEST_CCC (3)
/** @} */
Foo.h:
/** @file */
/**
* @addtogroup TEST_GROUP
*
* @{
*/
/** @brief My Class. */
class Foo {
public:
void method();
};
/** @} */
Bar.h:
/** @file */
/**
* @ingroup TEST_GROUP
* My Function.
*/
void Bar();
この場合、TEST_DEFINE
ドキュメントはHTML出力の[ファイル]タブの下のTest.hエントリに表示され、その他の定義はクラスと関数とともに[モジュール]タブの[テストグループ]の下に表示されます。TEST_AAA
Foo
Bar
@file
コマンドの後にファイル名を付けると、次のようになります。
/** @file Test.h */
その場合、これはファイルの実際の名前と一致する必要があります。そうでない場合、ファイル内のアイテムのドキュメントは生成されません。
@file
コマンドを追加したくない場合の別の解決策はEXTRACT_ALL = YES
、Doxyfileに設定することです。
これがお役に立てば幸いです。