背景:为什么非要使用cscope?不用ctags?
尽管ctags可以索引软链接,但是,ctags不能查找“调用者”,比如:你想看看某个函数在哪些位置被调用了, .etc
1, 卸载cscope
2, 下载cscope源代码:
http://sourceforge.net/projects/cscope/files/cscope/15.8a/p.s 我下载的15.8a,在debian sid使用正常
3, 修改如下:
diff --git a/src/dir.c b/src/dir.c
index cf9330d..e73d86f 100644
--- a/src/dir.c
+++ b/src/dir.c
@@ -651,7 +651,7 @@ accessible_file(char *file)
if (access(compath(file), READ) == 0) {
struct stat stats;
- if (lstat(file, &stats) == 0
+ if (stat(file, &stats) == 0
&& S_ISREG(stats.st_mode)) {
return YES;
}
原因如下: man stat
stat() stats the file pointed to by path and fills in buf.
lstat() is identical to stat(), except that if path is a symbolic link, then the link itself is stat-ed, not the file that it refers to.
4, 接下来就是通用的方法:
./configure
make -jN
sudo make install5, 试试效果:find -L . | grep -E '\.c$|\.h$|\.S$|\.cpp$|\.java$|\.lds$|\.ld*|\.chh$|\.cc$' > cscope.files
cscope -Rbqk6, vim....
本文介绍如何针对cscope进行定制以增强其在代码库中的搜索能力,并详细解释了为何选择cscope而非ctags的原因。通过具体步骤指导读者如何安装最新版cscope并进行必要的配置修改。
1743

被折叠的 条评论
为什么被折叠?



