0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

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

Posted at

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

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

【引用】【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 の設定

#ドキュメント出力
html.PNG

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?