前言
基于上一篇博客vim基础配置,在完成vim的基础及一些插件配置后,我们期望的是能够用vim像IDE一样便利地阅读代码,例如查看变量/函数的定义,查找引用等等,本篇博客介绍如何通过vim+cscope实现Linux内核代码的便利阅码
一、了解内核源码树
不管是用传统的IDE还是用vim来阅读一个项目的代码,第一步都应该是创建该项目代码的工程,如果是用IDE的话,那么在创建工程的时候,它会自动帮忙创建变量/函数的Tag,从而让用户可以便利地查询变量/函数的定义,声明等。如果用vim+cscope的方式,需要我们自己创建Tag文件,然后用cscope的命令来建议索引,从而实现与IDE一样的功能。
不同于一般的项目,如果想要阅内核的码,那么无疑代码量是很庞大的,最简单的方法可以不假思索,把所有内核的代码全都建立索引,但这无疑引入了很多冗余的代码,cscope的效率也会相应的降低,因此更优的做法是我们只对我们常用的目录建立索引,那么就要求我们对内核源码树有一定的了解,下面基于6.3.6
的内核做一下简单的介绍,大家可以根据自己的需求来生成各自的Tag文件。
目录 | 描述 |
---|---|
arch | 特定体系结构的源码 |
block | 块设备I/O层 |
crypto | 加密API |
Documentation | 内核源码文档 |
drivers | 设备驱动程序 |
io_uring | 5.1版本引入的异步I/O框架 |
fs | 文件系统 |
include |