• 締切済み

C/C++ をHTML変換するツールをおしえてください

大規模アプリケーションのライブラリアンをしています。RADを使用していないため、関数定義やクラス定義を探すのにgrepを使わなければいけないことに困っています。そこで、ライブラリ全体を日次処理でhtml化し、ハイパーリンクで相互関係を把握できるようにしたいと考えています。C/C++ネイティブの予約語と、ユーザ定義の関数・クラスが色分けで表示できたら、かなり便利になるし、開発者の方にも喜んでもらえるのではないかと思います。 cpp2htmlなどのキーワードでいくつか検索をかけてみましたが、 プロジェクト全体をドキュメント化する機能はない模様です。 フリーウェアでなくともかまいませんので、導入/運用経験のある方、おしえてください!

みんなの回答

  • MrBan
  • ベストアンサー率53% (331/615)
回答No.5

#1です。 私自身、既存ソースの素解析などにも使ってますし、 コマンドを使いこなさないソースでもそれなりのものが出ます。 もちろん、使いこなせば(見栄えも含め)かなりの精度のものが出ます。 # 納品したこともあります。(要・顧客の同意) 設定ファイルの書き方で出力がかなり変わるので、 これを適切に定義するのが肝だと思います。

xkei
質問者

お礼

Windows版を使って既存のライブラリを処理してみました。 開始時にCPU使用率が100%になったのがちょっと不安でしたが、翌日オフィスに行ってみると無事正常終了していました。 コールグラフやクラス図などもきちんと出力されていて、 プログラム間の相関関係が一気に見やすくなりました。 これだけで論理関係をつかむことはできませんが、とりあえず 静的解析をするだけでこれだけの情報をまとめられることに驚きました。

  • valvelde
  • ベストアンサー率35% (46/129)
回答No.4

No.3です。 Windows環境のバイナリおよびソースファイルは下記サイトのリンク先からダウンロード可能です。 http://tamacom.com/global-j.html 「GNU GLOBALをダウンロードする」-> 「DOS and Windows 32 version」

  • valvelde
  • ベストアンサー率35% (46/129)
回答No.3

Global

参考URL:
http://tamacom.com/global-j.html
xkei
質問者

お礼

ありがとうございます。環境がWindowsなので、そのままでは使えませんが、Cygwinを導入して試験してみます。 また、GNU GLOBALで生成したタグファイルが使用できないかためしてみたいと思います。

  • jacta
  • ベストアンサー率26% (845/3158)
回答No.2

私もDoxygenがお勧めです。 単に色分けするだけなら、最近のエディタなら大抵やってくれますが、ハイパーリンクとなるとなかなかです。 私は、HTML以外に、RTF経由でPDFを作るのにも使っています。本当なら、LaTeX経由なのかもしれませんが、RTFの方が便利です。

参考URL:
http://www.fides.dti.ne.jp/~oka-t/doxygen.html
xkei
質問者

お礼

ありがとうございます。 doxygenが正式に採用できるようになれば、詳細設計書の代わりにdoxygen書式でコード中に仕様を書くような開発フローにもできそうですね。ありえない?

  • MrBan
  • ベストアンサー率53% (331/615)
回答No.1

Doxygen あたりでどうでしょうか。 インデクス作成からクラス、ヘッダのコールグラフ、 色付き・リンカブルのソースに各要素のツリー、 クラス図からインデクス等、およそ必要なものは だいたい生成できると思いますし、 html 以外にも CHM ヘルプとか MAN とかも作れます。 実績という意味では、私自身の個人開発から、 オープンソースのドキュメント、納品物、製品添付の マニュアルまでは使ったことが/使われてるのを 見たことがありますし、Redhat 等のデストリにも 開発用パッケージとして入ってます。 ライセンスは GPL (詳細はご自身でご確認ください)

参考URL:
http://www.doxygen.org
xkei
質問者

お礼

ありがとうございます。graphvizの便利さはよく知っていましたが、doxygenでdot出力できるとわ! マニュアルを調べてみましたが、ドキュメントコマンドをけっこう使いこなさないといけないみたいですね。まずは既存のライブラリをパースしてみて、どのような出力が得られるか調べます。

関連するQ&A