Linux系统下使用ctags查找源码的方法,linuxctags


这篇文章主要为大家介绍了在Linux系统下可以使用vim自带的ctags查找源码或者文件,下面甲苯之家的小编带大家了解使用ctags查找源码的方法,需要的朋友可以参考下

太多的文件导致我们无法去定位一个函数的实现或者一个宏定义的位置。显然对于源码的阅读和个人的学习都是非常不利的。多么希望有一个软件能够输入命令就能够精确的定位函数的位置。是的,现在有这么一个工具:ctags,它需要和vim编辑器配合使用,让源码阅读可以更加轻松。

什么是ctags?

ctags(Generate tag files for source code)是vim下方便代码阅读的工具。尽管ctags也可以支持其它编辑器,但是它正式支持的只有VIM。并且VIM中已经默认安装了Ctags,它可以帮助程序员很容易地浏览源代码。

ctags更新地址:http://ctags.sourceforge.net/,这个网站是ctags的官方网站,你可以在上面下载到关于ctags的最新内容。

ctags能够定位什么内容?

1)用#define定义的宏

2)枚举型变量的值

3)函数的定义、原型和声明

4)名字空间(namespace)

5)类型定义(typedefs)

6)变量(包括定义和声明)

7)类(class)、结构(struct)、枚举类型(enum)和联合(union)

8)类、结构和联合中成员变量或函数

2.配置自己的环境满足ctags:

安装ctags,如果是RedHat,则直接使用yum命令安装:

tags

在指定的源码位置生成tags文件,并且我们添加很多参数来完善ctags的功能(为了体现其功能的强大,我用它来生成linux源码的tags文件):

tags

tags

然后我们查看tags内容就可以发现,原来tags就是linux内核代码中各个元素的索引,这也就是ctags结合vim可以快速进行定位的原因了(查询就是通过这个文件内容来定位的):

tags

以上就是在Linux系统下使用ctags查找源码的方法步骤,希望能帮到大家,请继续关注帮客之家,谢谢阅读。


怎结合vim使用ctags 查找变量或者函数被“调用”的位置?

tags内不包含调用点,只包含函数定义的位置信息,所以不能查找所有调用。
这个在linux下使用shell命令:
grep -Pn 'helloword\s*\(' **/*.cpp
 

linux 下怎查询一个函数或结构的原代码

使用ctags最方便

1、安装ctags
2、在内核源码目录中执行 ctags -R * 生成tags数据库
3、vim -t 你要查找的数据结构的定义 例如:vim -t flock

网络上有详细的说明,你可以搜索以下