欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

Linux下编译cscope,vim+ctags+cscope 常用技巧和命令

发布时间:2025/3/15 26 豆豆
生活随笔 收集整理的这篇文章主要介绍了 Linux下编译cscope,vim+ctags+cscope 常用技巧和命令 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

首先声明,本文不适用于初学者!

1 编译ctags需要的文件

#make ARCH=x86 tags

ARCH=x86 的意思是除了索引指定的x86体系结构的代码外,不索引其他体系结构的想关代码

2 编译cscope需要的文件

#make ARCH=x86 cscope

3 在vim中用ctags浏览

ts do_fork  等同于光标停在do_fork上,再按CTRL + ]

tn          下一个(next)

tp          上一个(previous)

tf          第一个(first)

tl          最后一个(last)

4 在vim中用cscope浏览

cs add cscope.out        #添加一个 connection,浏览内核时经常发现 cscope 链接断开

可以调用:cs a cscope.out

:cs show                  #显示所有 connections

:cs kill              #杀死第#号 connection,第#号就是:cs show 显示出来的

:cs reset                 #reset 所有 connections

:cs find c|d|e|f|g|i|s|t

解释:

c   查找 name 被哪些函数调用

d   查找 name 调用了哪些函数

e   egrep 句型

f   查找名为 name 的文件

g   查找 name 的定义

i   查找#include 本 name 的文件

s   查找 name 这个 C 符号

t   查找何处对 name 赋值

对 Linux 内核来说,如果既有 tags 文件,又有 cscope.out 文件,则 Vim 中:set cst

意味着使用 cscope 风格的^],也就是:tag 命令。 于是:

如果想用 ctags 找到 do_IRQ:

:ts do_IRQ

如果想用 cscope 找到 do_IRQ:

:ta do_IRQ

5 CTRL + T 返回上一步的操作处

最后给大家推荐一些内核相关的经典图书:

入门推荐: LKD2 - 《Linux 内核设计与实现-第 2 版》

从入门开始,介绍了诸如中断、系统调用、虚拟文件系统、同步与互斥、

内存管理、进程控制等方面,内容比较浅显易懂,是入门的好书。

优点: 适合入门 (个人认为,没有比 LKD2 更优秀的内核入门图书)

缺点: 内容不够深入,覆盖面不广。(对高手来说估计就像休闲材料)

3.1 ULK3 - 深入理解 Linux 内核-3rd

一本很全面的 Linux 内核原理书。 书中以 2.6.11 为示例版本,着重讲述了

x86 平台的 Linux 内核实现。

优点: 深入,全面

缺点: N/A

我觉得看完 ULK3 就是高手了:)    而且由于书中着重介绍了 X86 体系结构,也称得

上半个 x86 专家了。

3.2 《Linux 内核源代码情景分析》

以 2.4.0 为例讲解,注重代码级别的剖析,对中断、内存管理、文件系统、

SMP、PCI 和 USB、IPC 的讲解都是代码级别的深入细致。

优点: 深入

缺点: 针对的内核版本较旧,且每个「情景」都很长,不容易坚持读完。

FYI : 新手不要从《情景分析》开始学习内核,这样只会增长你的学习周期。

3.3 LDD3 - Linux 设备驱动程序-3rd

LDD3 写的很精彩。 但如果要学会写具体的驱动程序,还是得参照硬件的

datasheet,读一个内核中现成的驱动程序。

FYI : 内核中自带的驱动程序 skeleton:

drivers/net/pci-skeleton.c 和 drivers/usb/usb-skeleton.c,分别是为 PCI/USB

驱动程序员提供的参考代码。

3.4 现代体系结构上的 Unix 系统 - 内核程序员的 SMP 和

Caching 技术

这本书着重讲解各种体系结构上的 Unix 实现注意事项,e.g. SMP 的同步与互斥、

Cache 一致性问题。

优点: 作者知识面非常广,原理讲得很清楚。

缺点: 94 年的书,比较旧

3.5 Intel & AMD CPU 参考手册

最好带着问题有针对性的去读 Intel & AMD 的手册。

与50位技术专家面对面20年技术见证,附赠技术全景图

总结

以上是生活随笔为你收集整理的Linux下编译cscope,vim+ctags+cscope 常用技巧和命令的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。