2014/10/25

[Tool]とりあえずdoxygen

「とりあえずビール」みたいなイメージで。
仕事などで、いきなりソースファイル一式をもらったとしよう。
どっから手を付けるか、途方に暮れることもあるだろう。
そういうときは、doxygenというツールで、とりあえずドキュメント化してみると良いかもしれない。
少なくとも、何もせずに手をこまねいているよりは良いのではなかろうか。

今回はcygwinでやってみよう。
いろいろなプラットフォームで動作するが、やり方はあまり変わらないだろう。
まずはインストール。
cygwinだと、setup.exeなどで出てくる。
このとき、doxygen本体だけでなく、graphvizもインストールしておこう。
graphvizというのは、グラフを作ってくれるツールで、doxygenからincludeグラフや関数呼び出しグラフ、クラス図などを生成してくれるのだ。
名前はgraphvizなんだけど、実行ファイル名はdotだ。
(追記)今のところ、フォントが解決できなかった。アルファベットですら□で表示されてる。cygwinじゃなくてWindows版の方がよさそう。
structble__advdata__manuf__data__t__coll__graph
インストールできたら、まずは対象となるソース一式の一番上のディレクトリでコンソールなりターミナルなりコマンドプロンプトなりを開こう。
doxygenは、設定ファイルに従ってドキュメントを作るようになっている。
なので、まずは設定ファイルを作らないといけない。
が、安心してほしい。
doxygenは設定ファイルのひな形を生成してくれるのだ。
$ doxygen -g
こうすると、Doxygen、というテキストファイルを生成する。
あとは、このファイルをいじって、実行するだけだ。
$ doxygen [設定ファイル名]
そんなに難しくない。

ただ、設定ファイルがデフォルトのままだと、ほとんどドキュメントを生成してくれないだろう。
私がC/C++をメインで作業しているので、C/C++でとりあえず何でもかんでもHTMLドキュメントに吐く設定を書いておこう。
  • PROJECT_NAME
    • あまり気にしなくて良い。ドキュメントのタイトルに出てきたりする程度。
  • OUTPUT_LANGUAGE
    • デフォルトはEnglishだが、気にならなければそのままで良いだろう。
  • EXTRACT_ALL
  • EXTRACT_PRIVATE
  • EXTRACT_PACKAGE
  • EXTRACT_STATIC
    • とりあえずYESで。その付近に展開してほしいものがあれば、それもYESで。
  • RECURSIVE
    • YESで。
  • INPUT_ENCODING
    • 必要に応じて変更。生成結果が化けていたら考えるくらいでよいだろう。
  • GENERATE_TREEVIEW
    • なんとなくYESに変更してる。
  • GENERATE_LATEX
    • TeX知らないので、NO
  • HAVE_DOT
    • これがgraphvizを使うかどうかの設定。YES。
  • CALL_GRAPH
  • CALLER_GRAPH
    • YESで。

とりあえずこうやっておくと、何かはできる。
CALL_GRAPHやCALLER_GRAPHがYESだと、けっこう時間がかかるし、できるファイルも大きくなる。
そこら辺は、様子を見て変更すると良いだろう。

0 件のコメント:

コメントを投稿

コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。