みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

Cプログラムの解析(関数の呼び出し関係など)

仕事で必要なため、C言語の勉強をしています。

既存のプログラムに変更を加えるのために、膨大な量のソースコードを
ながめて関係を把握しようとしているのですが、効率のよいやり方が
わかりません。

バグのない盛り込みをするために、関数の呼び出し関係などを検索して
調べEXCELに書き出したりなどしているのですが、限界を感じています。

ツールをいくつか試用してみたのですが、どうもしっくりくるものが
ありません。
例えば、 func_a() -> func_b() -> func_c() -> func_d() という関係
になっているものがあったとして、func_a() -> func_b()や
func_b() -> func_c()の関係は表示できても、
func_a() -> func_b() -> func_c() の関係は一度に表示できず、
自分の頭の中で組み合わせて覚えておかなければならないなど..

みなさんは、ソースコードを解析し、その結果を把握して変更を加える際、
どうされているのでしょうか?

アドバイスよろしくお願いします。

投稿日時 - 2005-09-03 12:57:21

QNo.1623809

困ってます

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.3

私は、cflowというツールを使っています。
実行オプションで解析する呼び出し階層数を指定することができます。

参考URL:http://www.gnu.org/software/cflow/

投稿日時 - 2005-09-05 01:01:17

ANo.2

ある会社では、表示用のプログラムを作ってましたね。
ツリー型で全てを一度に表示できるものです。

Cでは、言語解析がしやすいので、作ろうと思えばすぐ
できるでしょう。

良い開発環境を使えば、いらないようにも感じますが・・・・

ちなみに
Windows環境,UNIX(LINUX)環境のどちらなんでしょうね。

投稿日時 - 2005-09-03 13:43:13

ANo.1

私はDoxygenをよく使っています。それ以外はgrepでどうにかなります。

参考URL:http://www.doxygen.org/

投稿日時 - 2005-09-03 13:03:17

あなたにオススメの質問