现在的位置: 首页 > 综合 > 正文

ctags和cscope的使用

2013年09月30日 ⁄ 综合 ⁄ 共 1208字 ⁄ 字号 评论关闭

         这两个工具,其实最主要的功能就是为看代码提供比较方便的操作,比如对于一个比较大的程序,比如helloword(此时helloword是一个文件夹)。由于这个程序比较大,所以在文件夹helloword中,有好几个文件夹,比如方函数的文件夹founction.放结构体的文件夹struct.还有存放头文件定义的文件夹headers,lib,arch....等等。

        这时候我们从helloword的某个main.c文件开始阅读代码的时候,里面全是一大堆调用的函数,而函数我们又不知道什么意思,所以越看越是一头雾水,因此,ctags和cscope就应运而生了,废话不多说,接下来将解如何使用ctags和csocope。

1    安装ctags和cscope。   apt_get install ctags  cscope  然后选yes安装。

2     cd helloword。在helloword目录下运行ctags -R   ,          cscope -R

      运行这两句命令的作用是。两个工具将逐个搜索当前目录和子目录中的.c   .h    .s  等等用C语言形式的文件,并建立索引。

3     建立完索引,就可以阅读代码了,比如现在开始阅读main.c(vim main.c)。第一行代码就是init_arch().很明显不明白init_arch()究竟干了些什么,此时将光标停留在init_arch()函数上面,ctrl+],  这样就可以直接跳到init_arch()函数的定义处。就可以直接阅读该函数的代码了,加入你想知道现在究竟在那个文件,按ctrl +g  就可以看见init_arch()函数在哪个文件了。然后阅读完,按 ctrl+t  ,继续返回到main.c的init_arch()处。

4    假如在init_arch()函数处按 ctrl+]没有反应的话,退出main.c文件,或者按Alt+ctrl+t  新建一个终端(这时建立的终端是默认当前目录),运行vim -t init_arch     这条语句的作用是在当前目录及其子目录中递归搜索init_arch()函数,这样也可以进入定义init_arch()函数的文件。

注:1 ,从命令你也看到了,必须首先安装vim    。apt-get install vim (在ubuntu和debian中安装软件是直接这样,就像360软件宝盒一键安装似得)

       2,  在ctags和cscope的使用中,最常用的就是两个命令 ctrl + t       还有  ctrl + ]     .所以一会儿就掌握了。

       3. 有时候ctrl+t  返回到源C文件时,会跳到第一行,加入本C文件很大的话,就必须的慢慢往下找自己刚才看到哪个函数了,此时,运行 : /init_arch(),即可转到init_arch()函数处。(相当于在main.c文件中搜索init_arch(),)

抱歉!评论已关闭.