FreeBSD カーネルのスケジューリング コードを学習し、Vim の cscope プラグインを使用してソース コードをナビゲートしています。
一般的には問題なく動作しますが、本当に不便な点が 1 つあります。ソース コードに同じ名前の関数ファミリが複数ある場合、cscope はそれらすべてを表示します。
# プリ種別タグファイル 1 F f sched_nice sys/kern/sched_4bsd.c sched_nice(struct proc *p, int nice) 2 F f sched_nice sys/kern/sched_ule.c sched_nice(struct proc *p, int nice) タイプ番号と (空のキャンセル):
FreeBSD には、同じインターフェースを実装する 4BSD と ULE の 2 つのスケジューラーがあります。私はULEにのみ興味があり、不要な4bsdファイルを除外するか、少なくともcscopeに4bsdの前にULEファイルを表示させたいと思っています。
それはまったく可能ですか?
ありがとう!
PS cscope.out の生成時に不要なファイルを無視できることはわかっていますが、4bsd ファイルを調べる必要がある場合もあります。そのため、完全な cscope データベースで作業することをお勧めします。