项目中 搭建 cscope 使用环境
系统 : Ubuntu 14.04
1 安装 sudo apt-get install cscope
2 使用
方法一: 在工程目录上 直接 输入 命令 cscope -Rbqk
最后生成 cscope.in.out cscope.out cscope.po.out 三个文件
这样虽然能用但是会导致以下两个问题:
1 ) cscope.out 是根据文件的相对路径生成的 所以会导致只能在 cscope.out 生成的目录下 使用cscope
为了在任意子目录下都可以用 可以使用 -P 参数
2) 默认情况下 cscope 会忽略 .cpp 或者 .java 这类文件,导致在这些文件上无法使用cscope 做一些查找
函数定义或者调用处之类的一些操作
方法二
使用 cscope.files 文件去建立cscope , 在这个 cscope.files 文件加入这些cpp 或这 java 的文件
(包含其路径信息 ) cscope 就会使用cscope.file 去匹配他扫描的文件 ,就不会出现方法一的问题二了,
cscop.files 文件里面记录了文件的路径信息,如果使用绝对路径那么cscope 依据这个文件建立的
cscope.out 文件 也是绝对路径的那么 我们就可以在 工程的任意目录下使用了,解决方法一的问题一
使用find 命令 找出工程下所有需要的使用的文件 再重定向到 cscop.files 即可完成
对应的脚本:
CSCOPE_PATH=/platform_code //需要建立cscop工程的源码目录
CSCOPE_FILES=/cscope_save_dir //保存cscope.files文件的目录
cd /
find $CSCOPE_PATH/ \
-path "./out" -prune -o \
-path "./prebuilts" -prune -o \
-name "*.cpp" -o -name "*.java" -o -name "*.[chsS]" > $CSCOPE_FILES/cscope.files
接着进入 cscope.files 文件所在目录 运行 以下命令即可
cscope -b -q -k
这里不再需要使用 -R 参数 因为 cscope.file记录了所需的所有的目录下的文件了
参考网址:Using Cscope on large projects (example: the Linux kernel)
3 vim 上使用 cscope
使用前要先与cscope.out建立链接 才能使用 cs find 命令去找函数的定义或者调用处等操作
vim 编辑界面 输入 :cs add cscope.out //根据cscope.out文件 所在的位置作修改
接着即可使用 :cs find 命令了
一般直接在 vimrc 进行配置 解决这些繁琐的操作
例如在 vimrc 加入:
if has("cscope")
set csprg=/usr/bin/cscope
set csto=1
set cst
set nocsverb
" add any database in current directory
cs add /cscope/cscope.out #根据cscope.out所在的位置做修改
set csverb
nmap <C-\>s :cs find s <C-R>=expand("<cword>")<CR><CR>
nmap <C-\>g :cs find g <C-R>=expand("<cword>")<CR><CR>
nmap <C-\>c :cs find c <C-R>=expand("<cword>")<CR><CR>
nmap <C-\>t :cs find t <C-R>=expand("<cword>")<CR><CR>
nmap <C-\>e :cs find e <C-R>=expand("<cword>")<CR><CR>
nmap <C-\>f :cs find f <C-R>=expand("<cfile>")<CR><CR>
nmap <C-\>i :cs find i ^<C-R>=expand("<cfile>")<CR>$<CR>
nmap <C-\>d :cs find d <C-R>=expand("<cword>")<CR><CR>
endif
参考网址 Vim/Cscope tutorial
项目中 搭建 cscope 使用环境相关推荐
- OSGI企业应用开发(二)Eclipse中搭建Felix运行环境
上篇文章介绍了什么是OSGI以及使用OSGI构建应用的优点,接着介绍了两款常用的OSGI实现,分别为Apache Felix和Equinox,接下来开始介绍如何在Eclipse中使用Apache Fe ...
- 4.1 MyEclipse中搭建Struts2开发环境
4.1 MyEclipse中搭建Struts2开发环境 (尊重劳动成果,转载请注明出处:http://blog.csdn.NET/qq_25827845/article/details/5320594 ...
- php7开发的项目怎么样,如何在PHP7项目中搭建一个多线程
如何在PHP7项目中搭建一个多线程 发布时间:2021-03-05 15:31:22 来源:亿速云 阅读:93 作者:Leah 这期内容当中小编将会给大家带来有关如何在PHP7项目中搭建一个多线程,文 ...
- 在Xcode7中搭建python开发环境
在Xcode7中搭建python开发环境 我使用的版本为Version 7.3 (7D175),关于基础配置部分,参考了Xcode6中搭建python开发环境的方法 环境搭建 1.找到电脑上安装Pyt ...
- 在Windows中搭建python开发环境与使用初步(适合初学者)
在Windows中搭建python开发环境与使用初步 安装设置python运行环境 到网站https://www.python.org/downloads/windows/ 找到合适版本,下载. 双击 ...
- 如何在 Windows 10 中搭建 Node.js 环境?
2019独角兽企业重金招聘Python工程师标准>>> [编者按]本文作者为 Szabolcs Kurdi,主要通过生动的实例介绍如何在 Windows 10 中搭建 Node.js ...
- 在mac中搭建asp.net环境并开发第一个程序
在mac中搭建asp.net环境并开发第一个程序 一.搭建环境 1.安装.NET Core - 要使用.NET Core首先在终端上安装Openssl 更新homebrew后下载安装openssl $ ...
- 在Eclipse中搭建Python开发环境之三新建python 提示django not found
python 不是内部或外部命令 现在我假设你的python安装在C:\Python26目录下,设置环境变量方法如下: 方法一.我的电脑->属性->高级->环境变量->系统变量 ...
- linux python开发环境_如何在Linux系统中搭建Python编程环境
1 在大多数的Linux系统中,基本上都默认安装了Python,也就是说,在Linux的系统中基本上是不需要安装什么软件,就可以使用Python. 下面以ubuntu操作系统为例,看看如何在Linux ...
最新文章
- 转正答辩ppt_同心同行 乘风破浪 兴业装饰新员工转正考核圆满完成
- python之父叫什么-Python之父曾强力推荐的两本书,至今仍有很多人拜读
- Python+selenium 自动化-滚动的使用方法,如何滚动到元素的位置
- java删除页面数据不刷新_Ajax请求数据与删除数据后刷新页面
- UBuntu安裝使用PIP
- 线程魔术技巧:Java线程可以做的5件事
- git 初步使用01
- 从入门到深入Fiddler 2 (二)
- 32年寻获上帝粒子,华人女学者自述高能人生故事
- 选主元的高斯-约旦(Gauss-Jordan)消元法解线性方程组/求逆矩阵
- java虚拟机手机系统,微软java虚拟机
- 设计模式之——建造者模式
- 关于提高数据库查询效率的问题
- 动物统计 nyoj286
- 智慧小区智能物业管理系统综合解决方案
- latex图表中英文双标题的使用技巧
- python 第二天
- word中输入空格变点
- 交换机的背板容量、交换容量和包转发能力
- 【Android】kotlin语法学习