このブログは、旧・はてなダイアリー「檜山正幸のキマイラ飼育記 メモ編」(http://d.hatena.ne.jp/m-hiyama-memo/)のデータを移行・保存したものであり、今後(2019年1月以降)更新の予定はありません。

今後の更新は、新しいブログ http://m-hiyama-memo.hatenablog.com/ で行います。

doxygen

アスタリスク+スラッシュの書き方

「*⁄」OK、だが裏ワザ過ぎるよ 「*\/」ダメ、\/ がそのまま見える 「*/」ダメ、すべてそのまま見える 「*/」ダメ、すべてそのまま見える 「*\if\endif/」 OK 「*@if@endif/」 なぜかダメ 「*\」の2文字になる。たぶんバグ。

注意すべきことを書く

@attention と @warning があり、どちらもそれらしく表示されるが、使い分けがワカラン。まー、自分で決めるってことだろう。

ドキュメンテーションコメント内の見出し

ドキュメンテーションコメント内に、Markdownの見出しを入れられるが、そのレベルをいくつにするのが良いか? まだ結論は出てない。それと、ヘッダ側からのドキュメンテーションコメントと実装側からのドキュメンテーションコメントを分けたい。今は水平線で…

Doxygen Markdownのバグ?

間違えやすい仕様も含まれる。 前後に空白なしの `hoge` は認識されないで、生タグ(ttタグ)が見えてしまう。 preブロックへの言語指定 ```hoge が場所によってエラーする 連続するpreブロックがあると、二番目は認識されない。 句点の直後に空白を忘れて自…

DoxygenのMarkdownファイルはソースファイル

Doxygenの自動リンク機能は強力で便利で、一度使い出すとやめられない。md(markdown)でも自動リンク構文が使える。ソース内のドキュメンテーションコメント以外に、独立したmdファイルのドキュメントも書いている。自動リンクを使い出すと、mdファイルも、…

グルーピングのモジュール機能

グルーピングの使い方として、@defgroup, @addtogroup ってのがある。 http://www.doxygen.jp/grouping.html 「@defgroup グループID タイトル」と「@addtogroup グループID」を使う。グループ範囲は //@{ と //@} で囲む。このグループには何を収めてもいい…

クラス名の自動リンク

マニュアルによると、大文字から始まる単語はクラス名としてリンクされる、ということだが、効かない。語の末尾に'#'を付けると認識する。大域的な名前は語の先頭に'#'か'::'を付けると認識するようだ。ルールを完全には把握できてない。ルールなのかバグな…

非推奨であることを示す

http://stackoverflow.com/questions/12839517/detecting-deprecated-functions-in-c によると: Doxygenの@deprecatedディレクティブで、非推奨を指示できる。 GCCで __attribute__((__deprecated__)) で非推奨を指示できる。 MSVCで __declspec(deprecated…

DoxyfileとMakefileの連携

最初のうちは、Doxyfileの入力は FILE_PATTERNSにワイルドカードを書いていたが、だんだん苦しくなって、INPUTに列挙するようになった。INPUTへの列挙と、FILE_PATTERNSのパターンは併用できないようだ。INPUTを使うとなったら、すべて直書き。まー、しょう…

グルーピングはドキュメンテーションコメントじゃなくてもいい

グルーピング開きと閉じの特殊な括弧は、ドキュメンテーションコメントじゃなくてもいい。 //@{ // ... グループ範囲内 //@} でよい。通常のコメント内でもグループ範囲を解釈するようだ。ドキュメンテーションコメント内に置いても解釈されるが、'//@{', '/…

名前空間エクスプローラー

どんなプログラミング言語でも広義の名前空間の概念はあるわけで、名前が所属する場所と可視性の構造を持つ。名前の静的スコーピング構造と言ってもいい。パッケージ、モジュール、クラスなんかが広義の名前空間(スコープ)を定義する。C++ならずばり「名前…

クラス宣言の実例

差し障りの無い実例を挙げる。今までは、ソース内にメモ書きだったものが、文書に入る。ソースのフォーマティングのための見出しも文書の構造として反映される。 //! ファイルシステムのノード(ディレクトリまたはファイル)の情報を表すクラス /*! 次の3つ…

クラス宣言の書き方

http://d.hatena.ne.jp/m-hiyama-memo/20160510/1462863099:tileのグルーピングを使うことを前提にする。 @nameディレクティブの引数は、日本語でも特殊文字でもいい。nameというよりむしろtitle @name、@{、@} の3つを使う。 ソースのフォーマティングのた…

メンバーのグルーピング

やっと、わかった。クラス内のメンバーをグルーピングするには、次のようにする。 //-------------------------------------------------- /*! @name 見出しは日本語でOK 必要があればここにもコメントできる。 */ //--------------------------------------…

設定のまとめ

全体的設定 PROJECT_NAME = "MyProject" GENERATE_LATEX = NO # HTMLしか要らない場合 EXTRACT_ALL = YES # コメントがない構成要素も出力 EXTRACT_PRIVATE = YES # privateも出力する GENERATE_TREEVIEW = YES # ツリービュー表示 出力ディレクトリ OUTPUT_…

DoxygenのMarkdownにおける目次とリンク

目次生成の[TOC]は認識しているが、まともに機能しない。 目次生成やセクションへのリンクには見出しにIDが必要。 IDを付けると見出しが消えてしまうバグがある。 したがって、見出しにIDを付けられず、目次やセクションへのも機能しない。 対処方法 参照す…

コメントの書き方

Doxygenで文書を作れるようにしようと思っているが、コメントが文書になるので色々と悩む。文体としてどれがいいか。 ナントカの値 (動詞を含まない) ナントカの値を取得 (意味は動詞だが、名詞で終わる、体言止め) ナントカの値を取得する ナントカの値…

その後のDoxygen

バグ 入力がシフトJISのせいだからかも知れないが、バグに出会っている。#define の認識が出来ない。色々試行錯誤しているが、いまのところ解決しない。Markdownのパージングでも謎のエラーがよく出る。やはり、入力はUTF-8にすべきだと思う。事情があってそ…