DoxygenとGraphvizでC++コードのドキュメントを作る


目次

0.doxygenとは
1.環境構築
2.ソースコード記述
3.プロジェクト作成
4.ドキュメント出力

doxygenとは

メリット
・コードに設計内容が埋め込まれているため、コードと設計書の乖離が軽減され保守性が向上する
・コメントにDoxygenに対応したタグを埋め込むだけなので低コストで詳細設計書が作成可能である

【引用】【C/C++】ドキュメント作成(doxygen)まとめ

環境構築

・Doxygenのインストール
・Graphvizのインストール

こちらを参考に構築。環境変数のパスだけ気を付ける。
【参考】最近覚えた便利アプリ[doxygen]

consol
>doxygen  -v
1.9.1 (ef9b20ac7f8a8621fcfc299f8bd0b80422390f4b)
>dot -V
dot - graphviz version 2.47.0 (20210316.0004)

ソースコード記述

sample.cpp
/*! @class Class1
    @brief  クラスの説明
*/
class Class1 {
public:
    /*! メンバ1の説明 */
    int member1;

    int member2; /*!< メンバ2の説明を横につける */

    /*! メソッド1の説明 */
    int method1(int var1, int var2);

    /*! メソッド2の説明。詳細説明
        @param[out]     var1    var1の説明
        @param[in]      var2    var2の説明
        @param[in,out]  var3    var3の説明
        @par            Refer
        - 参照するグローバル変数 global_var1
        - 参照するグローバル変数 global_var2
        @par            Modify
        - 変更するグローバル変数 global_var3
        - 変更するグローバル変数 global_var4
        @return         成功 0, 失敗 0 以外 など
        @exception      例外。不要であればnoneを記述
    */
    int method2(int var1, int var2, int var3) {

    }
};
/*! @class Class2
    @brief  クラスの説明
    クラスの詳細
*/
class Class2 {
public:
    /*! メンバ1の説明 */
    Class1 class_obj1;
};
};

プロジェクト作成

Doxywizardを使ってプロジェクト作成。
RUNボタンでHTMLが生成される。DoxyfileでConfigurationを直接編集もできる。

【参考】Graphviz の設定

ドキュメント出力