使用ctags和cscope在线阅读源码:TheLinuxCrossReferencer的教程
转于:
应用于ubuntu系统。
有网路的时侯,使用LXR(TheLinuxCrossReferencer)在线阅读源码虽说是一件很爽的事情。在无网路的情况下linux 内核代码阅读工具ubuntu linux,只通过vim步入内核源码那样查找就变得有些勉强。接出来,本文将介绍一种快速定位源码的工具:ctags和cscope。通过vim编辑器linux标准教程,再配合使用上述两种工具就可以快速定位想要查看的源码。好了,开始吧!
1.下载最新内核源码包,解压至主目录下
接出来的步骤其实可以在当前系统内核源码目录下进行,不过为了保险期间还是最好在主目录下专门创建一个储存源码的目录。下文所说的源码目录均指主目录下的源码目录。
2.安装ctags
使用命令:sudoapt-getinstallctags
3.安装cscope
使用命令:sudoapt-getinstallcscope
4.成标签文件
在源码目录下通过命令maketags(也可使用:ctags-R)生成标签文件
5.生成索引文件
在源码目录下通过命令makecscope(也可使用:cscope-indexer-r)生成索引文件。
6.将索引文件导出vim中
使用命令打开vim的配置文件:sudogedit/etc/vim/vimrc;之后在该文件下添加如下代码:
iffilereadable("cscope.out")
csaddcscope.out
endif
这样每次打开vim就可以直接使用cscope了。
完成以上步骤之后就可以通过vim进行源码的快速定位了。上述安装的ctags和cscope都属于源码索引工具,因而仅安装三者之一也是可以的。不错,尽管ctags可以快速定位所输入的标签,但cscope的使用方式则更灵活。所以二者同时安装使用上去更便捷。下边是一些简单的使用方式,仅供参考。
1.使用ctags
ctags的使用非常简单,首先步入源码目录下,打开vim编辑器,在命令模式下输入:tagtag_name按回车即可。一般tag_name可以是结构体名称,函数名称,宏变量名称等。一般输入上述命令后,由于找到的标签并不惟一,所以还须要配合使用下列命令:
tfirst:跳至第一个
tnext:跳至下一个
tlast:跳至最后一个
2.使用cscope
尽管ctags使用便捷快捷,但有时侯使用cscope更灵活linux 内核代码阅读工具,首先可以看cscope的帮助文件:
引用
cscope命令:
add:添加一个新的数据库(用法:addfile|dir[pre-path][flags])
find:查询一个模式(用法:findc|d|e|f|g|i|s|tname)
c:找到调用这个函数的函数
d:找到被这个函数调用的函数
e:找到这个egrep模式
f:找到此文件夹
g:找到这个定义
i:找文件#包括这个文件
s:找到这个C符号
t:找到对其的形参
help:显示此信息(用法:help)
kill:结束一个联接(用法:kill#)
reset:重置所有联接(用法:reset)
show:显示联接(用法:show)
通过前面的帮助文件可以发觉假如想找到request_irq函数的定义处代码,即可使用这个命令:csfindgrequest_irq来进行查找。大多数情况下查找的结果并不惟一,由于须要在多个结果中通过头文件来继续查看。
一般是先通过cscope大致定位到头文件,再通过ctags在该头文件中详尽定位。虽然这两种工具并不局限于上述用法,更多用法可以再深入使用的过程中渐渐摸索,并且配合正则表达式等效果会更好。
以上是使用ctags和cscope在线阅读源码:TheLinuxCrossReferencer的教程的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

Linux系统的五个基本组件是:1.内核,2.系统库,3.系统实用程序,4.图形用户界面,5.应用程序。内核管理硬件资源,系统库提供预编译函数,系统实用程序用于系统管理,GUI提供可视化交互,应用程序利用这些组件实现功能。

要查看 Git 仓库地址,请执行以下步骤:1. 打开命令行并导航到仓库目录;2. 运行 "git remote -v" 命令;3. 查看输出中的仓库名称及其相应的地址。

VS Code 一步/下一步快捷键的使用方法:一步(向后):Windows/Linux:Ctrl ←;macOS:Cmd ←下一步(向前):Windows/Linux:Ctrl →;macOS:Cmd →

虽然 Notepad 无法直接运行 Java 代码,但可以通过借助其他工具实现:使用命令行编译器 (javac) 编译代码,生成字节码文件 (filename.class)。使用 Java 解释器 (java) 解释字节码,执行代码并输出结果。

在 Sublime 中运行代码的方法有六种:通过热键、菜单、构建系统、命令行、设置默认构建系统和自定义构建命令,并可通过右键单击项目/文件运行单个文件/项目,构建系统可用性取决于 Sublime Text 的安装情况。

要安装 Laravel,需依序进行以下步骤:安装 Composer(适用于 macOS/Linux 和 Windows)安装 Laravel 安装器创建新项目启动服务访问应用程序(网址:http://127.0.0.1:8000)设置数据库连接(如果需要)

Linux的主要用途包括:1.服务器操作系统,2.嵌入式系统,3.桌面操作系统,4.开发和测试环境。Linux在这些领域表现出色,提供了稳定性、安全性和高效的开发工具。
