Linux下阅读源代码工具安装

Posted nanzh

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux下阅读源代码工具安装相关的知识,希望对你有一定的参考价值。

综合他们多篇博客,做一个自己的总结(从0开始,记录过程)

系统:ubuntu 16.04  vim:7.4.1689

内容来源:

https://www.cnblogs.com/wangzhe1635/p/9025711.html

https://blog.csdn.net/niepangu/article/details/52888116

https://blog.csdn.net/limanjihe/article/details/49994247

 

关于 ctags、cscope、taglist这个三个工具的安装和使用。

一.ctags

1.安装(apt-get或下载源码)

命令安装:
    $ sudo apt-get install ctags
源码安装:
    下载:https://sourceforge.net/projects/ctags/files/ctags/5.8/ctags-5.8.tar.gz
    或官网http://ctags.sourceforge.net/中查找需要的版本。 $ ./configure $ make $ make install
上述任选1装完成之后查看版本:$ ctags --version

我使用apt-get安装版本如下:

技术分享图片

使用:

1.进入源代码目录,命令行输入如下命令,会在当前目录下产生一个新的文件tags。
    $ ctags -R  (定位标记对象)(-R”表示递归创建,也就包括源代码根目录(当前目录)下的所有子目录。“”表示所有文件。)
2.基本使用方法:
    $ vi –t function_name (命令行输入后可直接跳转到函数位置)
    在vim打开的文件中跳转(命令模式):
    :tag func_name  (跳到函数func_name位置,然后Tab键匹配查找,上下切换)
       :ts  (tags list  查看所有函数名为xx的定义位置)
       :tp (tags preview)
       :tn (tags next)
    :tag (查看指定函数的多个定义)
    :tnext  (跳到第一个定义处,优先跳转到当前文件)
    :tfirst   (跳到第一个)
    :[count]tprevious  (跳到前count个)
    :[count]tnext  (跳到后count个)
    :tlast  (跳到最后一个)
    :tselect tagname  (你也可以在所有tagname中选择)
    :tag / (然后按Tab来选择跳转标签)
    :tselect /^write_   (匹配查找以write开头的所有定义或变量,$表示末尾,^表示开头。第二个参数可替换成任意内容)
    光标放在函数上:
       Ctrl + ]   从调用位置可以跳转到函数的定义处
    CTRL + T   跳到上一层,可连续跳转。
       Ctrl + o 或者 Ctrl + t     回到初始位置

 

补充:

“$ ctags –R ”:“-R”表示递归创建,也就包括源代码根目录(当前目录)下的所有子目录。“”表示所有文件。这条命令会在当前目录下产生一个“tags”文件,当用户在当前目录中运行vi时,会自动载入此tags文件。

Tags文件中包括这些对象的列表:

用#define定义的宏
枚举型变量的值
函数的定义、原型和声明
名字空间(namespace)
类型定义(typedefs)
变量(包括定义和声明)
类(class)、结构(struct)、枚举类型(enum)和联合(union)
类、结构和联合中成员变量或函数
VIM用这个“tags”文件来定位上面这些做了标记的对象。

 

二.cscope

命令安装:
    $ sudo apt-get install cscope
源码安装:
    官网:http://sourceforge.net/projects/cscope/files/

使用方法:

       在终端下,切换到源码所在目录后,输入命令:cscope -Rbkq

       参数意义:R 表示把所有子目录里的文件建立索引

                         b 表示仅建立符号数据库,不启动自带的用户界面

                         k 表示在生成索引时,不搜索/usr/include/目录

                         q 表示生成cscope.in.out 和 cscope.po.out文件,加快cscope的索引速度

       完成后将在当前目录生成这么几个文件:cscope.in.out 、cscope.po.out 和 cscope.out









以上是关于Linux下阅读源代码工具安装的主要内容,如果未能解决你的问题,请参考以下文章

Linux下安装maven(mvn命令)

Linux下有没有类似SourceInsight的代码阅读工具

Ubuntu 16.04上安装Global阅读源代码工具

Linux 平台下阅读源码的工具链

PHP代码-psysh调试代码片段工具

Linux源代码分析工具链