C言語の関数呼び出し関係の調査ツール

コンピュータ将棋ソフトの開発に向け、既存のチェスや将棋のソフトのソースについて学ぶため、2014年3月18日以降、オープンソースのソフトのソースを何本か、ダウンロードしてきました。

その後、テキストエディタで将棋ソフト「Bonanza 6.0」のソースファイルの中身を読んで、プログラムの大まかな処理の流れを改めて確認しました。

ただ、テキストエディタだけでソースを読むのでは、関数の呼び出し関係を調べるだけでも多くの時間がかかってしまいます。

そこで、ソースの解析にツールを利用することにしました。

昨日(2014年4月10日)、「C-Analysis_Free.NET」というフリーソフトをベクターでダウンロードし、チェスソフト「Crafty」の関数一覧を CSVファイルに出力しました。
これは便利 と思い、Bonanza 6.0 のソースを解析しようとしたところ、こちらは十数分が過ぎても解析終了しません。

機能的には十分なので、処理可能なソースについては、「C-Analysis_Free.NET」を使うことにします。

今日(2014年4月11日)の午前中、「Bananza」のソースプログラムの関数呼び出し関係の調査に利用できそうなツールについて、情報収集してました。

調査の過程で「Cppcheck」という解析ソフトの存在を知り、試してみました。

Cppcheck は良いツールと思いましたが、現時点で私の求めているものではありませんでした。

次に、「EPTREE」というツールを入手し、試してみたところ、一応、動作しました。
ただ、EPTREE では、処理対象のファイルをフォルダー単位で一括指定できません。

Bonanza のソースファイルの数は、拡張子が「c」のものだけで 40個以上あり、ファイルを一つ一つ処理するのは面倒です。

結局、私が利用したのは、C言語関数ツリー というツールです。
「C言語関数ツリー」は、コマンドラインで使うツールのため、Windows 7 のコマンドプロンプトから実行し、実行結果をリダイレクトでテキストファイルに書き出しました。

「C言語関数ツリー」の出力内容はシンプルですが、とりあえず、私の求める最小限のデータは手に入りました。


スポンサーリンク

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です