【第7回】

長くなったソースコードの内容をしっかり把握

「Cmap」でC言語ソースコードを解析して関数等を分かりやすく表示しよう

(00/08/16)

 こんにちはnakkaです。前回公開した「nLaunch開発版」の使い心地はいかがでしたか? 「nLaunch開発版」のソースコードは行数がかなり増えて、長く複雑になってきました。自分が作成したプログラムに不具合が発生したとき迅速に対応できるよう、長くなってもソースコードの構造はしっかり把握しておきましょう。

 今回は、そういった「ソースコードの内容の把握」を容易にするソフトを紹介します。ソースコードの構造がわかれば、ちょっとした修正をするときでもすばやく対処できます。

 C言語用のソースコード解析ツール「Cmap」

「Cmap」  ソースコードが長くなってきた場合は、1つの機能ごとに別のソースファイルに分けて管理すると便利です。しかし、ソースファイルをいくつも作ると、作成した関数がどこにあるのかわからなくなってしまうことがあります。そんなときは、ソースコード解析ツール「Cmap」を使ってソースコード全体の構造をツリー表示し、ソースコード全体を把握しやすくしましょう。

 「Cmap」は、C言語の複数のソースファイルを一気に解析して、ソースファイル内で使われている関数と、さらにその関数内で使用されている関数をツリーで階層表示するソフト。どのファイルでどんな関数を使っているのか、どの関数がどの関数を含んでいるのか、一目瞭然です。使い方は、ソースファイルを保存しているフォルダを指定して[解析]ボタンをクリックするだけです。解析の実行後には、ソースファイル内の関数ごとの行数や、その行数がソースファイル内で占める割合などが記述されたテキストファイルが出力されるので、ソースコードを理解しにくくする極端に長い行数の関数がないかどうか、調べるのもカンタンです。関数の検索機能やツリー表示した関数をそのままテキストファイルに出力してくれる機能もあります。

 「Cmap」は、ソースコードが公開されているプログラムを参考に自分のプログラムを作るといった場合にも威力を発揮します。開発者によってソースコードの書き方にもクセがあり、初めて見るソースコードは、とにかくどの関数でどのような処理が行われているのかわかりにくいものです。しかし、他の開発者のソースコードを参考にする際には、まずソースコード全体の構造を把握して理解することが不可欠です。

 そういった場合に「Cmap」を使ってソースコード内の関数をツリー表示すると、ソースコード内で使われている関数がひとめでわかり、関数一つ一つのつながりをていねいにたどりながらソースコード全体を把握できます。また、関数の奥深くで使われている関数をツリーで選択してツールバーにある「ジャンプ」ボタンをクリックすると、その関数の本体がソースファイル内のどこにあるのか知ることもできるため、迷子になっている小さな関数もすぐに探し出せます。

 ソースコードの変更点もしっかり頭に入れておこう

 今回はソースコードの解析を行って構造を理解しやすくなるようにしました。ただ、バージョンアップしたときのソースコードの変更点もしっかり頭に入れておかないと、万一不具合が発生したとき、いつからその不具合が発生するようになったのか、ソースコードのどの部分で不具合が発生しているのか、確認するのが難しくなってしまいます。

 そこで次回は、ソースコードの更新履歴を管理してバージョンアップ内容を把握できるようにするソフトを紹介します。

【ソフト名】Cmap
【著作権者】(有)マイクロシステムズ
【ソフト種別】シェアウェア 3,500円
【バージョン】3.02(00/08/10)

(nakka)

オンラインソフトで日曜プログラミング INDEXへ
トップページへ


Copyright(C), 1996-2000 Impress Corporation.
編集部への連絡は mado-no-mori-info@impress.co.jp まで