知识屋:更实用的电脑技术知识网站
所在位置:首页 > 操作系统 > linux

cscope无法索引代码树之外的软链接解决

发布时间:2014-09-05 14:28:09作者:知识屋

cscope无法索引代码树之外的软链接解决
 
背景:为什么非要使用cscope?不用ctags?
 
尽管ctags可以索引软链接,但是,ctags不能查找“调用者”,比如:你想看看某个函数在哪些位置被调用了, .etc
 
1, 卸载cscope
2, 下载cscope源代码:
[html] 
http://sourceforge.net/projects/cscope/files/cscope/15.8a/  
p.s 我下载的15.8a,在debian sid使用正常
3, 修改如下:
[html] 
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, 接下来就是通用的方法:
[html] 
./configure  
make -jN  
sudo make install  
5, 试试效果:
[html] 
find -L . | grep -E '/.c$|/.h$|/.S$|/.cpp$|/.java$|/.lds$|/.ld*|/.chh$|/.cc$' > cscope.files  
cscope -Rbqk  
6, vim....
(免责声明:文章内容如涉及作品内容、版权和其它问题,请及时与我们联系,我们将在第一时间删除内容,文章内容仅供参考)
收藏
  • 人气文章
  • 最新文章
  • 下载排行榜
  • 热门排行榜