SSブログ

GNU GLOBAL [コードリーディング]

GNU GLOBAL [1] というツールを使ってみた。
昔からあるようだし、いまさら便利がっているほうが恥ずかしいのかもしれないけどこれは素晴らしい。

何をしてくれるかというと、C や C++ なんかのソースを総ざらいして関数やマクロなどがどこで使用されているかという情報をハイパーテキスト化してくれる。他人のソースを読むときとか、自分のソースをリファクタリングしたりするときにかなり重宝しそう。例えばある関数を改変したいときにどこでその関数が使われているかという影響範囲がすぐに一覧で分かる。それに出力が HTML なのでかなり直感的にブラウズできる。他人の書いたソースをつらつらと眺めるのに便利な感じだ。

使い方はインストールして、ソースツリーの置かれたディレクトリで

gtags
htags -sa

と打つ。これで HTML というディレクトリができるので ./HTML/index.html をブラウザで開けばよい。
s というオプションをつけるとあらゆるシンボルをハイパーリンク化するので HTML がかなりくどくなるのだけど、これをつけないと関数が抽出されていない場合があったのでつけることにした(どういう結果が正しいものなのかマニュアルからはいまいちわからない)。

[ この記事を投稿しかけたあとで、ちょっと思い直して、他にも同じようなツールがあるようだし、実は Visual Studio みたいな IDE でも呼び出し元をたどる機能があったりするので、それらを調べて比較してからにしようと思ったのだけど、やっぱり HTML 化という機能の便利さが突出しているのがわかったので安心して褒めることにした ]

[1] http://www.tamacom.com/global-j.html


nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:パソコン・インターネット

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

Lua の multiple resul..Lua と awk の共通点 ブログトップ

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。