ウォンツテック

そでやまのーと

ソースを読む

ソースを読んでて関数の依存関係がわけわからなくなったので
GNU Globalを入れてみようと思った。
GNU GLOBAL source code tagging system
からソースを落としてきて

./configure --prefix="/destdir"
make
make install

で入れてtagを付けたいソースコードツリーのトップで

gtags -v
htags -saF (HTML用)

とやるだけ。※HTML超便利!

emacsを使う場合はまず、sourceを展開したディレクトリ配下にある
gtags.elを適当なディレクトリ(~/lispなど)に移動し、以下を.emacs
に追加する

;; load-pathに追加
(setq load-path (cons "~/lisp" load-path))

次に、操作方法だが M-x gtags-mode でgtagsモードに出来る

;; GNU GLOBAL(gtags)
(autoload 'gtags-mode "gtags" "" t)
(setq gtags-mode-hook
'(lambda ()
(local-set-key "\M-t" 'gtags-find-tag)
(local-set-key "\M-r" 'gtags-find-rtag)
(local-set-key "\M-s" 'gtags-find-symbol)
(local-set-key "\C-t" 'gtags-pop-stack)
))

を追加すると

  • Ctrl+t gtagsでジャンプする一つ前の状態に戻る
  • Alt+s 指定した変数、定義の定義元を探す
  • Alt+r 指定した関数が参照されている部分を探す
  • Alt+t 指定した関数が定義されている部分をさがす

の操作が出来るようになるっぽ。