大きなソースコードを読むためのツールとして etagとか global とか doxygen を使ってきた.しかし,もっと便利なツールがあるはず.という訳で今日は cflow を試してみた.
たとえばこのようなソースコードを cflow に食わせると
void fuga(int i) { printf("%d\n", i); } void hoge() { int i; for (i=0; i<10; i++) fuga(i); } int main() { printf(); hoge(); printf(); }
$ cflow test.c
1 main {a.c 15} 2 printf {} 3 hoge {a.c 8} 4 fuga {a.c 3} 5 printf {}
と言う風に,関数名 "{" ファイル名 行番号 "}" という形式でネストしてテキストを出力するみたい.うーん,すごく便利とは言えないが,それなりに便利そう.