注意点

コメントの書き方(C/C++)

すべてを展開すべてを収束
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
/**
	@file	[ファイル名]
	[ファイル全体に対する短い説明]
	[ファイル全体に対する詳細な説明]
*/
 
/**
	func1の機能の簡潔な説明。
	2行目以降は詳細な説明。改行したい時は<br>を書く。
	@param	ArgIn1		[in] 入力用引数1の説明。
	@param	ArgIn2		[in] 入力用引数2の説明。
	@param	ArgOut		[out] 出力用引数の説明。
	@param	ArgInOut	[in,out] 入出力用引数の説明。
	@retval	0	戻り値が0になる場合の説明。
	@retval	>0	戻り値が正になる場合の説明。
	@retval	<0	戻り値が負になる場合の説明。
*/
int func1( type ArgIn1, type ArgIn2, type ArgOut, type ArgInOut );
 
/**
	func2の機能の説明。
	@param[in]	ArgIn	入力用引数の説明。
	@param[out]	ArgOut	出力用引数の説明。
	@retval	true	戻り値が true になる場合の説明。
	@retval	false	戻り値が false になる場合の説明。
*/
bool func2( type ArgIn, type ArgOut );
 
/**
	func3の機能の説明。
	@return	戻り値の説明。
*/
int func3(
    type ArgIn,    ///< [in] 入力用引数の説明。
    type ArgOut    ///< [out] 出力用引数の説明。
);
 
/**
	func4の機能の説明。
	@attention	注意。この関数を呼び出す前にXXXを初期化しておくこと。
	@return	戻り値の説明。
*/
int func4(
    type    ArgIn1    ///< [in] 1行だけの場合。
    type[]    ArgIn2,    /**< [in] 複数行の場合。
				- ハイフンで箇条書き。インデントでネストする。
				- [0]: First
				- [1]: Second
				- [2]: Third	*/
    type    ArgOut    ///<	[out] 出力用引数の説明。
);

コメントの書き方(C#)

すべてを展開すべてを収束
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 
 
 
 
 
 
 
 
 
 
 
 
-
|
|
|
|
|
|
|
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-
|
|
!
|
|
|
|
|
|
-
|
!
!
|
|
|
|
|
|
|
|
-
|
|
|
|
|
|
|
|
|
|
|
|
-
|
!
|
|
|
|
|
|
-
|
!
|
|
|
|
|
|
-
|
|
!
!
!
 using System;
 
 /**
  * @mainpage C#の継承のテスト
  * <p>ネタ元<br>
  * http://ufcpp.net/study/csharp/oo_inherit.html </p>
  */
 
 /// <summary>
 /// C#の継承のテスト用プログラム
 /// </summary>
 namespace TestInherit
 {
     /// <summary>
     /// 人間
     /// </summary>
     /// <remarks>
     /// 名前と年齢の2つの情報を持っています。
     /// </remarks>
     class Person
     {
         /// <summary>
         /// 名前
         /// </summary>
         public string Name { get; set; }
         /// <summary>
         /// 年齢
         /// </summary>
         public int Age { get; set; }
 
         /// <summary>
         /// コンストラクタ
         /// </summary>
         /// <param name="name">名前</param>
         /// <param name="age">年齢</param>
         public Person(string name, int age)
         {
             Name = name;
             Age = age;
         }
 
         /// <summary>
         /// 文字列化
         /// </summary>
         /// <returns>名前と年齢を表す文字列</returns>
         public new string ToString()
         {
             return "Name: " + Name + "\n" + "Age: " + Age + "\n";
         }
     }
 
     /// <summary>
     /// 学生
     /// </summary>
     /// <remarks>
     /// 人間の情報に加えて学籍番号の情報を持っています。
     /// </remarks>
     class Student : Person
     {
         /// <summary>
         /// 学籍番号
         /// </summary>
         public int Id { get; set; }
 
         /// <summary>
         /// コンストラクタ
         /// </summary>
         /// <param name="name">名前</param>
         /// <param name="age">年齢</param>
         /// <param name="id">学籍番号</param>
         public Student(string name, int age, int id) : base(name, age)
         {
             Id = id;
         }
 
         /// <summary>
         /// 文字列化
         /// </summary>
         /// <returns>名前と年齢と学籍番号を表す文字列</returns>
         public new string ToString()
         {
             return base.ToString() + "ID: " + Id + "\n";
         }
 
         /// <summary>
         /// 動作テスト
         /// </summary>
         /// <param name="args">コマンドライン引数</param>
         static void Main(string[] args)
         {
             Student Tanaka = new Student("田中", 19, 1000);
             Console.WriteLine(Tanaka.ToString());
         }
     }
 }

設定

  • カレントフォルダに html フォルダを作成する。
    OUTPUT_DIRECTORY       = .
  • 取り込まないディレクトリを指定する。
    EXCLUDE_PATTERNS       = "*/Service References/*" \
                             "*/Web References/*" \
                             "*/Properties/*" \
                             "*/bin/*" \
                             "*/obj/*"
  • private メソッド/メンバーを出力する
    EXTRACT_PRIVATE        = YES
  • static メソッド/メンバーを出力する
    EXTRACT_STATIC         = YES
  • internal メソッド/メンバーを出力する
    EXTRACT_PACKAGE        = YES
  • インクルード依存関係図のグラフを描画する。
    GraphVizにパスが通っていること。
    HAVE_DOT               = YES
    DOT_PATH               = ""

Visual Studio 設定

  • Doxygen にパスが通っていること。

随時実行

  • 「ツール - 外部ツール」に追加する。
    タイトルDoxygen(&D)
    コマンドdoxygen.exe
    引数Doxyfile
    初期ディレクトリ$(SolutionDir)
    出力ウィンドウを使用チェックする
    起動時に引数を入力チェックしない
    Unicodeで出力を処理するチェックしない

ビルド時に自動実行

  • プロジェクトのプロパティを開き、「ビルドイベント - ビルド後イベント」で設定する。
    コマンドラインif "$(ConfigurationName)" == "Release" (
      cd /d "$(SolutionDir)"
      doxygen.exe Doxyfile
    )
    説明Doxygen
    ビルドで使用はい

リロード   新規 下位ページ作成 編集 凍結 差分 添付 コピー 名前変更   ホーム 一覧 検索 最終更新 バックアップ リンク元   ヘルプ   最終更新のRSS
Last-modified: Wed, 18 Jan 2017 18:51:54 JST (244d)