Software / Doxygen


ドキュメント生成の流れ

設定ファイルの生成、編集

  • ドキュメント生成のため、設定ファイルを作成します。
    $ doxygen -g doxygen.conf
    • 上の例ではdoxygen.confという設定ファイルが作られますが、設定ファイル名は自由に名前を付けることができます。
  • 作成された設定ファイルを編集し、生成を行います。

ドキュメントの生成

  • 編集した設定ファイルを利用してドキュメントを作成します。
    $ doxygen doxygen.conf
    • 引数のdoxygen.confは設定ファイル

コメントの書き方

とりえあず編

  • 基本的には公開クラス、関数の前にこんな感じでコメントを入れておけばよい。
    /**
     * これはわたしの作ったクラスです。
     */
    class MyClass
    {
      :
      :
    }

ちょっとだけまじめに編

 /**
  * \brief サービスエントリコレクション
  *
  * マシンに設定されているサービスの全エントリを取得し
  * サービスエントリのコレクションを作成する。<br>
  * std::vectorを継承しています。
  * \see ServiceEntry, getservent(3), setservent(3) 
  *
  * \attention 利用例
  * \code
  ServiceEntry e;
  ServiceEntrys* entrys = new ServiceEntrys();
  cout << "size = " << entrys->size() << endl;
  for(int i=0; i<entrys->size(); i++)
  {
  e = (ServiceEntry)entrys->at(i);
  cout << e.GetNames()[0] << endl;
  }
  delete entrys;
  \endcode
  \attention 利用例の出力
  * \code
  tcpmux
  tcpmux
  compressnet
    :  
  * \endcode
  *
  * \date 11/2006
  * \author nu
  *
  */
 class ServiceEntrys : public std::vector<ServiceEntry>
   : (略)
  • 実際にやってる例。

詳細編

  • まだないです。

設定ファイルのいじり方

  • 環境によって違うとは思いますが設定ファイルをある程度いじらないと思い通りにならないことが多いと思います。

とりあえず編

プロジェクト名の設定

編集前PROJECT_NAME =
編集後PROJECT_NAME = MyProject?
  • MyProject?としてみました。
  • スペースとか入れるなら""とかでくくるといいかも。(と思っただけで試してない)

出力言語を日本語に

編集前OUTPUT_LANGUAGE = English
編集後OUTPUT_LANGUAGE = Japanese
  • デフォルトではドキュメントの基本的な見出しの言語が英語です。
  • 見出しが英語でもコメントさえ日本語ならそれほど困りませんが一応。

ドキュメントの文字エンコードの設定

編集前INPUT_FILTER =
編集後INPUT_FILTER = "/usr/bin/nkf -e"
  • nkf とかを使ってEUCで出るようにしないとファイルの日本語が文字化けしたりします。
  • 環境、nkfのバージョンによって多少違うかもしれませんが
  • なお、ちゃんと "" でくくるように。

Latexを出力しないように

編集前GENERATE_LATEX = YES
編集後GENERATE_LATEX = NO
  • デフォルトではHTML、Latexのドキュメントが生成されます。
  • 上の例ではLatex出力をOFFにしてます。好みですが。

ソースファイルもドキュメントから参照できるようにする

編集前SOURCE_BROWSER = NO
編集後SOURCE_BROWSER = YES
  • ドキュメントからもソースを見れるようになります。
  • 完璧好みですが。ちなみにヘッダファイルはデフォルトで閲覧可能な設定になっています。

詳細編

  • まだないです。

MenuBar


最新の20件

2015-05-15 2014-12-07 2008-11-17 2007-08-30 2007-04-21 2007-03-13 2007-03-12 2007-02-20 2007-02-14 2007-02-04 2006-11-26 2006-11-23 2006-11-20 2006-11-18 2006-11-13

  • counter: 3664
  • today: 1
  • yesterday: 0
  • online: 1