没有合适的资源?快使用搜索试试~ 我知道了~
在大型项目上使用Cscope(例如:Linux内核)1
需积分: 0 1 下载量 46 浏览量
2022-08-03
13:15:37
上传
评论
收藏 177KB PDF 举报
温馨提示
试读
2页
1. 获取源代码 2. 找出要放置Cscope数据库文件的位置 3. 生成带有要扫描文件列表的cscope.files 4. 生成Cscope数据库 5. 使用
资源详情
资源评论
资源推荐
在大型项目上使用Cscope(例如:Linux内核)
如果您需要涉足大型代码库,那么Cscope可能是一个特别有用的工具。通过能够进行快速,有针对性的
搜索,而不是手工手动地遍历源文件,您可以节省很多时间(尤其是由于grep开始使用真正的大型代码
库会花费一些时间)。
在本教程中,您将学习如何使用大型项目 设置Cscope。我们以Linux内核源代码为例,但是其他任何大型
项目(包括C ++或Java项目)的基本步骤都相同。
1. 获取源代码。首先获取源代码。您可以从http://www.kernel.org下载Linux内核源代码。在本教程的
其余部分中,我假设您已下载Linux 2.4.18并将其安装到/home/jru/linux-2.4.18。
注意:请确保您有足够的磁盘空间:仅内核
tarball
就是
30 MB
,它会扩展为
150 MB
的源代码,我们
将生成的
Cscope
数据库将吞噬另外
20-100 + MB
(取决于如何您决定要包含在数据库中的很多内核
代码)。如果需要,可以将
Cscope
数据库放置在与源代码不同的磁盘分区上。
2. 找出要放置Cscope数据库文件的位置。我假设您将/ home / jru / cscope用作存储数据库和关联
文件的目录。
3. 生成带有要扫描文件列表的cscope.files。对于某些项目,您可能希望在Cscope数据库的项目目录
中包括每个C源文件。在这种情况下,您可以跳过此步骤,而只需在项目的顶级目录中使用“
cscope -R ”来构建您的Cscope数据库。但是,如果您要排除某些代码,并且/或者您的项目包含C
++或Java源代码(默认情况下,Cscope仅解析带有.c,.h, .y或.l扩展名的文件),则需要生成
一个名为cscope.files的文件,其中应包含您希望进行Cscope扫描的所有文件的名称(每行一个文
件名)。
您可能想要使用绝对路径(至少在计划使用编辑器中使用Cscope数据库的情况下),以便可以从创
建目录以外的目录使用数据库。我显示的命令将首先从cd转到root,以便find打印出绝对路径。
对于许多项目,您的find命令可能很简单
cd /
找到/ my / project / dir -name'* .java'> /my/cscope/dir/cscope.files
对于Linux内核,这有点棘手,因为我们要排除docs和scripts目录中的所有代码,以及所有芯片的所
有架构和汇编代码,除了心爱的Intel x86(我猜是您感兴趣的架构)。此外,在此示例中,我排除
了所有内核驱动程序代码(它们使解析的代码量增加了一倍以上,这使Cscope数据库膨胀,并且它
们包含许多重复的定义,这通常使搜索变得更加困难。如果您对驱动程序代码,省略下面的相关
行,或对其进行修改以仅打印出您感兴趣的驱动程序文件):
LNX = /家庭/jru/linux-2.4.18
cd /
找到$ LNX \
-路径“ $ LNX / arch / *”!-path“ $ LNX / arch / i386 *” -prune -o \
-路径“ $ LNX / include / asm- *”!-path“ $ LNX / include / asm-i386 *” -prune -o \
-path“ $ LNX / tmp *”-修剪-o \
-path“ $ LNX / Documentation *”-修剪-o \
-path“ $ LNX / scripts *”-修剪-o \
-path“ $ LNX / drivers *”-修剪-o \
-名称“ *。[chxsS]” -print> /home/jru/cscope/cscope.files
艾闻
- 粉丝: 31
- 资源: 302
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0