【初見殺しの覚書】Doxygenで構造体のメンバ変数に説明を入れる

専門

先日、C言語のプログラミング課題をこなした。

コードの説明を別途書くのが面倒くさかったので、PythonでいうところのSphinxみたいなドキュメント生成ツールがないかと探してみるとDoxygenというツールが見つかった。

Doxygenに認識される形式でコメントをコード中に記述するだけらしい。

/**
 * 説明等
 */

が基本形式。*(アスタリスク) の後ろはスペース必須。

後はコメントに @file とか @return といったプロパティを記述していく。

ここで落とし穴だったのが構造体のメンバ変数。

なるべく行数が嵩まないよう以下のように書くとxの説明が認識されない。第2要素以降は問題なく認識するのに何故。

typedef struct {
  int x;  /** x coordinate */
  int y;  /** y coordinate */
} Point2d;

調べてみるとメンバ変数に限らず、

方法1:

/** comment */
int x;

方法2:

int x;  /**< comment */

でなければいけないらしい。(方法1に関して冒頭の複数行記述もOK)

説明を右側に書く場合は/**の後に<も書かないといけない。ここでミスってた。書き直すと問題なく認識。

初歩的なミスだろうがまた同じ間違いで時間を取られないように記事にした。Doxygen自体は見やすく使いやすかったので活用していきたい。

コメント

タイトルとURLをコピーしました