我正在学习 FreeBSD 内核中的调度代码,并使用 Vim 的 cscope 插件浏览源代码。
一般来说它工作得很好,但是有一件非常不方便的事情 - 如果源代码中有多个同名的函数系列,cscope 会显示所有这些:
# pri 种类标签文件 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,它们实现了相同的接口。我只对 ULE 感兴趣,并且想要过滤掉不需要的 4bsd 文件,或者至少强制 cscope 在 4bsd 之前显示 ULE 文件。
有可能吗?
谢谢!
PS 我知道我可以在生成 cscope.out 时忽略不需要的文件,但有时我需要检查 4bsd 文件。所以最好使用完整的 cscope 数据库。