一.ubuntu下安装Linux内核源码
(1).查看自己的内核版本
(2).查看源内的内核源码类表
(3).下载源码
(4).进入/usr/src
(5).解压下载的文件到用户主
二.安装vim插件Ctags和使用
插件的介绍
Ctags工具是用来遍历源代码文件生成tags文件,这些tags文件能被编辑器或其它工具用来快速查找定位源代码中的符号(tag/symbol),如变量名,函数名等。比如,tags文件就是Taglist和OmniCppComplete工作的基础。
(1).下载并安装
(2).基本功能使用
1.$ ctags –R * ($ 为Linux系统Shell提示符)
2.$ vi –t tag (请把tag替换为您欲查找的变量或函数名)
3.:ts
(ts 助记字:tags list, “:”开头的命令为VI中命令行模式命令)
4.:tp (tp 助记字:tags preview)
5.:tn (tn 助记字:tags next)
6.Ctrl + ]
7.Ctrl+T
命令解释:
“$ ctags –R *”:“-R”表示递归创建,也就包括源代码根目录(当前目录)下的所有子目录。“*”表示所有文件。这条命令会在当前目录下产生一个“tags”文件,当用户在当前目录中运行vi时,会自动载入此tags文件。
Tags文件中包括这些对象的列表:
1.用#define定义的宏
2.枚举型变量的值
3.函数的定义、原型和声明
4.名字空间(namespace)
5.类型定义(typedefs)
6.变量(包括定义和声明)
7.类(class)、结构(struct)、枚举类型(enum)和联合(union)
8.类、结构和联合中成员变量或函数
VIM用这个“tags”文件来定位上面这些做了标记的对象。
剩下的命令就是定位这些对象的方法:
“$ vi –t tag” :在运行vim的时候加上“-t”参数,例如:
[/usr/src]$ vim -t main
这个命令将打开定义“main”(变量或函数或其它)的文件,并把光标定位到这一行。
如果这个变量或函数有多处定义,在VI命令行模式
“:ts”命令就能列出一个列表供用户选择。
“:tp”为上一个tag标记文件,
“:tn”为下一个tag标记文件。当然,若当前tags文件中用户所查找的变量或函数名只有一个,“:tp,:tn”命令不可用。
方便的方法是把光标移到变量名或函数名上,然后按下“Ctrl+]”,这样就能直接跳到这个变量或函数定义的源文件中,并把光标定位到这一行。用“Ctrl+t”可以退回原来的地方。即使用户使用了N次“Ctrl+]”查找了N个变量,按N次“Ctrl+t”也能回到初打开的文件,它会按原路返回 。
更多功能通过命令man ctags或在Vim命令行下运行help ctags查询。
查看函数strlen的步骤如下:
(1).给当前文件夹及其及其子目录创建tags标记文件.
(2).使用vim打开标记文件
(3).使用ts显示该函数的列表
(4).按space出现下面界面
(5).找到lib/*.c,输入编号
(6).显示源码
(7).查看变量的定义,光标放在变量上,按ctrl+] ,ctrl+o/t回来
(8).打开/etc/vim/vimrc文件
(9).在低端添加set tags=tags;/
在当前路径下未找到tags文件,去上级路径以及上上路径去查找