のんびりしているエンジニアの日記

ソフトウェアなどのエンジニア的な何かを書きます。

graphvizとdoxygenでC++ソースコード解析

Sponsored Links

皆さんこんにちは
お元気ですか?私はげんきです。

今日はコード解析について取り組みたいと思います。
人のソースコードって結構読むの面倒ではないでしょうか?なんか纏めてある書類とかあれば楽なのになぁとか思うことは多々あります。

そんな貴方へ贈る今日の記事です。

Doxygenとは

Doxygen(ドキシジェン)は、C++、C言語、Java、Objective-C、
Python、IDL(CORBAおよびマイクロソフト形式)のための
ドキュメンテーションジェネレータである。

まぁクラス図とかDocument作ってくれます。素晴らしい

install

brew install graphviz
brew install doxygen

doxygenの使い方

doxygen -g

設定ファイルであるDoxyfileができあがるので編集をしましょう。

#文字のエンコード形式
DOXYFILE_ENCODING = UTF-8
 
# 出力ファイルの言語、色々あると思いますが、生成されたコメントにリストが載っているので、参考にしてください。
OUTPUT_LANGUAGE = Japanese
 
#ソースコードを再帰的に探す
RECURSIVE = YES
 
#Graphvizを利用?
HAVE_DOT = YES
 
#実はやったことがないのですが、Latex使うことは考えていないのでNO
GENERATE_LATEX = NO

終わったら以下のコマンドを打ち込みましょう。

doxygen

カレントディレクトリにhtmlディレクトリを生成します。
その中にindex.htmlがあります。

それをオープンすると・・・以下のような感じでクラスの関係とかを生成してくれたり…

f:id:tereka:20140711182332p:plain

各クラスの持っているメソッドや継承関係を一覧にしてくれたりします。

f:id:tereka:20140711182438p:plain

これで貴方も色々なソースコードを解析しよう!