Q&A:Doxygenをソースコード解析に利用するには?
Q:Doxygenをソースコード解析に利用するには?
A:可能な限り多くの情報が出力される設定とし、必要なコメントを追記または別ファイルに記述する。
詳細
Doxygen用コメントがないソースコードを解析するには、下記の設定を YES とし可能な限り多くの情報が出力される様にする。(リンク先は、親サイト)
- EXTRACT_ALL【有効コメントなし項目の詳細出力有無】:YES
- EXTRACT_PRIVATE【クラスのプライベートメンバの出力有無】:YES
- EXTRACT_STATIC【静的メンバの出力有無】:YES
- SOURCE_BROWSER【ソースファイルの埋め込み有無】(Wizard-Mode-“Include cross-referenced source code in the output”):YES(行番号等で相互参照可能)
ソースコードに必要なコメントを追記する。追記ができない場合、下記方法で別ファイルに記述する。グローバルな関数・変数等を出力するには、@file【ファイル情報】を記述する。
クラス図やコールグラフが必要であれば、Graphviz を使用する。
その他の基本的な設定や設定項目一覧については、親サイトを参照 (簡易設定・設定オプション一覧)
別ファイルにDoxygen用コメントを記述する方法
ソースコードにコメントを追記できない場合、別ファイルにコメントを記述することにより同等の出力が可能となる。
尚、ファイルを検索範囲内に置けない場合は、INPUT【入力ソースファイル名・ディレクトリ名】に指定する。
通常は省略される下記コマンドを指定して記述する。(リンク先は、親サイト)
- @class【クラス】
- @def【マクロ定義 (#define)】
- @enum【列挙型】
- @file【ファイル情報】
- @fn【関数・メソッド】
- @interface【インタフェース】
- @namespace【名前空間】
- @package【Java パッケージ】
- @struct【構造体】
- @typedef【型定義】
- @union【共用体】
- @var【変数・enum値】
ファイル例
sample.cpp【解析元ファイル】
int funcSample(int x, int y) {
retuen x + y;
}
class SampleClass {
int methodSample(int x, int y) {
retuen x + y;
}
}
doxygen.cpp【解析用ファイル】
/// @file
/// @brief 解析用ファイルの概要
/// @details 解析用ファイルの詳細
/// @file sample.cpp
/// @brief ■ファイルの概要
/// @details ■ファイルの詳細
/// @fn funcSample(int, int)
/// @brief ■関数の概要
/// @details ■関数の詳細
/// @param x ■引数xの説明
/// @param y ■引数yの説明
/// @return ■戻り値の説明
/// @class SampleClass
/// @brief ■クラスの概要
/// @details ■クラスの詳細
/// @fn SampleClass::methodSample
/// @brief ■メソッドの概要
/// @details ■メソッドの詳細
/// @param x ■引数xの説明
/// @param y ■引数yの説明
/// @return ■戻り値の説明
出力例

