前回の記事では、Doxygenの導入をまとめたので、

ここではC言語/C++で使えるコメント(Doxygenタグ)の記入方法をまとめる。

公式サイトには、全てのコメント使用例が書いてあるが、ちょっと多すぎる。

https://www.doxygen.jp/commands.html#cmdparam

Doxygenの基本コメントまとめ

doxygenコメントは冒頭に /*! をつける。

C言語ソースでよく利用する(?)コメント(タグ)を列挙する。

共通でよく使う

@brief 説明文
  • インデントをそろえたハイフン'-‘で箇条書きが表見できる。
  • /*@{*/ と/*@}*/ で囲むことで、グループ化できる。

ファイルヘッダ関係

@file ファイル名
@date 日付
@author 作者
@version 版数/バージョン
@par ユーザ定義の記述
/*!
  
* @file sample.c
  
*
  
* @date Created on: 2012/09/05
  
* @author Author: きつね
  
* @version 1.0
  
* @brief GoogleMock実験用
  
* @params History 新規作成
  
*/

宣言関係

これらの宣言は、ファイルのどこかに @fileと記載されている必要がある。

@struct 構造体
@enum 列挙型
@def 定義
@var グローバル変数

以下文字化け….2021/11/23 追記

/*! @struct NUM
  
* @brief ナンバー
  
*/
  
typedef struct NUM
  
{
  
int num; /\*!< 数 \*/
  
int count; /\*!< カウント \*/
  
}NUM;

/*! @struct RET
  
* @bruef 戻り構造体
  
*/
  
typedef struct RET
  
{
  
int ret; /\*!< 戻り値 \*/
  
int count; /\*!< カウント \*/
  
}RET;

/*!@def
  
* @brief 数の上限
  
*/
  
#define NUM_MAX 10

/*!@enum collor
  
* @brief 色
  
*/
  
typedef enum{
  
red, /\*!<赤 \*/
  
blue, /\*!<青 \*/
  
yellow /\*!<黄色 \*/
  
}collor;
  • メンバの説明は、/*!< hogehoge */ でも書ける。

image

関数ヘッダ関係

<td valign="top" width="246">
  関数宣言
</td>
<td valign="top" width="246">
  要約説明
</td>
<td valign="top" width="246">
  関数の引数 param[in] 入力フォーマット param[out] 出力フォーマット param[in,out] 入出力フォーマット
</td>
<td valign="top" width="246">
  戻り値の記述
</td>
<td valign="top" width="246">
  詳細説明
</td>
@fn
@breaf
@param param <引数名> { 引数説明 }
@return { 戻り値の記述 }
@detail

[text]

/*!

  • @fn get_ret

  • @brief

  • @param[in] void

  • @return 結果の数

  • @detail 数をライブラリから取得し、その結果によって処理を分岐する

*/

[/text]

image