http://blog.csdn.net/sudolee/article/details/9052291

背景:为什么非要使用cscope?不用ctags?

尽管ctags可以索引软链接,但是,ctags不能查找“调用者”,比如:你想看看某个函数在哪些位置被调用了, .etc

1, 卸载cscope

2, 下载cscope源代码:

  1. http://sourceforge.net/projects/cscope/files/cscope/15.8a/

p.s 我下载的15.8a,在debian sid使用正常

3, 修改如下:

  1. diff --git a/src/dir.c b/src/dir.c
  2. index cf9330d..e73d86f 100644
  3. --- a/src/dir.c
  4. +++ b/src/dir.c
  5. @@ -651,7 +651,7 @@ accessible_file(char *file)
  6. if (access(compath(file), READ) == 0) {
  7. struct stat stats;
  8. -       if (lstat(file, &stats) == 0
  9. +       if (stat(file, &stats) == 0
  10. && S_ISREG(stats.st_mode)) {
  11. return YES;
  12. }

原因如下: 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, 接下来就是通用的方法:

  1. ./configure
  2. make -jN
  3. sudo make install

5, 试试效果:

  1. find -L . | grep -E '\.c$|\.h$|\.S$|\.cpp$|\.java$|\.lds$|\.ld*|\.chh$|\.cc$' > cscope.files
  2. cscope -Rbqk

6, vim....

编译过程中可能碰到的问题:

sudo apt-get install libncursesw5-dev

sudo apt-get install libncurses5-dev

sudo apt-get install byacc

sudo apt-get install flex

cscope无法索引代码树之外的软链接的更多相关文章

  1. .NET代码树执行时间计时器

    有很多时候我们需要对代码不同段计算一个执行时间,并希望通过节点树的方式表达现每段代码的执行时长.在.Net下似乎找不到这样一个功能类,所以花了一些时间实现这样一个代码运行计时器.首先看一下简单的需求. ...

  2. 推荐一款超实用的GitHub可视化代码树插件:Octotree

    前言 大家在GitHub查看代码的时候,是不是会经常跳转搜索代码!过一段时间就不知道自己跑到哪里了!有了这款工具,妈妈再也不用担心我找不到代码位置了! 直接上效果图 插件名称 : octotree 作 ...

  3. PCL基础3.2-如何编写新的PCL类

    1.文件名为mainBilateralFilter.cpp的文件内容如下 #include <pcl/point_types.h> #include <pcl/io/pcd_io.h ...

  4. Cscope how to support java and c++

    Cscope 首先在文件夹下建立cscope索引文件 find -name '*.c' > cscope.file cscope -Rbkq 这个命令会生成三个文件:cscope.out, cs ...

  5. linux系统中的硬链接和软链接

    首先我们需要了解linux下硬链接以及软连接的基本概念.硬链接:新建的文件是已经存在的文件的一个别名,当原文件删除时,新建的文件仍然可以使用.软链接:也称为符号链接,新建的文件以“路径”的形式来表示另 ...

  6. (19)ln命令:在文件之间建立链接(硬链接和软链接)

    1.ext 文件系统(Linux 文件系统)是如何工作的. 我们在前面讲解了分区的格式化就是写入文件系统,而 Linux 目前使用的是 ext4 文件系统.如果用一张示意图来描述 ext4 文件系统 ...

  7. Linux ln命令:在文件之间建立链接(硬链接和软链接)详解版1

    Linux ln命令:在文件之间建立链接(硬链接和软链接)详解版 < Linux创建文件及修改文件时间戳(touch命令)Linux复制文件和目录(cp命令) > <Linux就该这 ...

  8. MySQL的btree索引和hash索引的区别

    Hash 索引结构的特殊性,其检索效率非常高,索引的检索可以一次定位,不像B-Tree 索引需要从根节点到枝节点,最后才能访问到页节点这样多次的IO访问,所以 Hash 索引的查询效率要远高于 B-T ...

  9. 在SQL Server里禁用聚集索引——真的好么?

    有人问了我一个最有意思的问题:“你能禁用聚集索引么?” 对这个问题,我先是吓了一跳,因为我从未想过禁用聚集索引,因为聚集索引代表表数据,对这个最有趣问题,我立即答道:“我认为可以,但是...” 好吧, ...

随机推荐

  1. HDU 6194【后缀数组】

    题目链接[http://acm.hdu.edu.cn/showproblem.php?pid=6194] 题意: 给你一个长度不大于1e5的字符串,然后然你判断其子串严格出现k次的子串个数. 题解: ...

  2. java 软引用,弱引用,强引用

    韩梦飞沙  韩亚飞  313134555@qq.com  yue31313  han_meng_fei_sha 强引用 ,有用的对象. 强引用 不会被回收. 软引用,有用 但不是必须的对象. 系统在发 ...

  3. PHP 笔记——会话控制

    1. Session的操作 1.1 启动 Session session_start(void):bool 1.2 注册 Session 会话变量启动后,全部被保存在全局数组$_SESSION[]中. ...

  4. JZYZOJ1622 [usaco2009]工作安排 贪心

    和p1123智力大冲浪一样,可以用优先队列写...   每一秒可以做一个工作....因为n个任务只要在限制之前完成就行,所以时间不冲突的话肯定越早做完越好..所以最多的时间是n,当然限定的完成时间中最 ...

  5. codeforces 148E Aragorn's Story 背包DP

    Aragorn's Story Time Limit: 20 Sec  Memory Limit: 256 MB 题目连接 http://codeforces.com/problemset/probl ...

  6. Google Code Jam Africa 2010 Qualification Round Problem B. Reverse Words

    Google Code Jam Africa 2010 Qualification Round Problem B. Reverse Words https://code.google.com/cod ...

  7. Android 动画——Layout Animations布局动画

    Layout Animations主要使用LayoutTransition为布局的容器设置动画,当容器中的视图层次发生变化时存在过渡的动画效果. LayoutTransition This class ...

  8. Windows Embedded Compact 7网络编程概述(上)

    如今,不论是嵌入式设备.PDA还是智能手机,网络都是必不可少的模块.网络使人们更方便地共享设备上的信息和资源.而且,利用智能手机浏览互联网,也逐渐成为生活中的常见手段.物联网所倡导的物物相联,也离不开 ...

  9. 十款最常见的Linux发行版及目标用户(1)

    1. Debian Debian运行起来极其稳定,这使得它非常适合用于服务器.Debian平 时维护三套正式的软件库和一套非免费软件库,这给另外几款发行版(比如Ubuntu和Kali等)带来了灵感.D ...

  10. Ubuntu删除文件夹的命令

    1. 删除文件夹的内容包括文件夹: rm -rf 文件夹的名字       (-r 是 循环的意思, f是不询问的意思) 2 .删除文件夹的内容不包括文件夹: rm -rf  文件夹的名字/*     ...