这两个工具,其实最主要的功能就是为看代码提供比较方便的操作,比如对于一个比较大的程序,比如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(),)