|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
要多动手,不要怕什么搞坏了怎么办,你不搞坏,不去动手,就永远不会有收获,既然你在linux中是自由的,那就发挥自己的权利;
我们在浏览linux源代码时都有如许的体味:中心的构造绝对松懈,在看一个文件时常常要扳连到其他的头文件、源代码文件。云云往返跳转寻觅变量、常量、函数的界说非常不便利,如许折腾几回,便使读代码的心境降到了低点。
lxr(linuxcrossreference)就是一个办理这个成绩的工具:他对你指定的源代码文件创建索引数据库,使用perl剧本CGI静态天生包括源码的web页面,你能够用任何一种扫瞄器查阅。在此web页中,一切的变量、常量、函数都以超毗连的情势给出,非常便利查阅。好比你在浏览/usr/src/linux/net/socket.c的源代码,发明函数get_empty_inode不晓得是怎样和在那里界说的,这时候候你只需点击get_empty_inode,lxr将前往此函数的界说、完成和各次援用是在甚么文件的哪一行,注重,这些信息也是超毗连,点击将间接跳转到响应的文件响应的行。别的lxr还供应标识符搜刮、文件搜刮,分离程序glimpse还能够供应对一切的源码文件举行全文检索,乃至包含正文!
上面将分离实例先容一下lxr和glimpse的基础安装和利用,因为glimpse对照复杂,就从它入手下手:
起首会见站点:http://glimpse.cs.arizona.edu/失掉glimpse的源码,好比我失掉的是glimpse-4.12.5.tar.gz.用root登录,在任一目次下用tarzxvfglimpse-4.12.5.tar.gz解开紧缩包,在以后目次下呈现新目次glimpse-4.12.5.进进该目次,实行make便可。进进bin目次,将文件glimpse和glimpseindex拷贝到/bin或/usr/bin下便可。假如独自利用glimpse,那末只需复杂的实行glimpseindexfoo便可,个中foo是你想要索引的目次,好比说是/usr/src/linux.glimpseindex的实行了局是在你的肇端目次下发生多少.glimpse*的索引文件。
然后你只需实行glimpseyourstring便可查找/usr/src/linux下一切包括字符串yourstring的文件。
关于lxr,你能够会见lxr.linux.no失掉它的源代码解包后,遵守以下步骤:
/*上面的笔墨来历于lxr的匡助文档和自己的安装体味*/
1)修正Makefile中的变量PERLBIN和INSTALLPREFIX,使它们分离为perl程序的地位和你想lxr安装的地位.在我的呆板上,PERLBIN的值为/usr/bin/perl.至于INSTALLPREFIX,有以下准绳,lxr的安装路径必需是web服务器能有权限会见。因而它的值复杂一点可取/home/httpd/html/lxr(关于Apachewebserver)。
2)实行makeinstall
3)修正$INSTALLPREFIX/http/lxr.conf:
baseurl:http://yourIP/lxr/http/
htmlhead:/home/httpd/html/lxr/http/template-head
htmltail:/home/httpd/html/lxr/http/template-tail
htmldir:/home/httpd/html/lxr/http/template-dir
sourceroot:/usr/src/linux #假设对linux中心代码索引
dbdir:/home/httpd/html/lxr/dbdir/ #dbdirk可恣意起名,且地位恣意glimpsebin:/usr/bin/glimpse #可实行程序glimpse的地位
4)在$INSTALLPREFIX/http/下增添一个文件.htaccess内容:
<Files~(source|search|ident|diff|find)$>***
SetHandlercgi-script
</Files>
下面这个文件包管Apacheserver将几个perl文件作为cgi-script.
5)依照lxr.conf中的设置创建dbdir,依照上例,创建目次
/home/httpd/html/lxr/dbdir
进进这个目次实行$INSTALLPREFIX/bin/genxrefyourdir
个中yourdir是源码目次,好比/usr/src/linux
假如要分离glimpse,则实行glimpseindex-H.yourdir
6)修正/etc/httpd/conf/access.conf,到场
<Directory/home/httpd/html/lxr/http>
OptionsAll
AllowOverrideAll
orderallow,deny
allowfromall
</Directory>
7)进进/etc/rc.d/init.d/实行
killallhttpd
./httpdstart
进进X,用扫瞄器http://yourIP/lxr/http/blurb.html
半途而废,这下你能够舒心的读源码了。
注重:以上只是lxr和glimpse的基础用法,进一步的申明能够参考联机文档。若有成绩请与sea_cloud@263.net接洽。
功能实在太强了,在配合exec参数或者通过管道重定向到xargs命令和grep命令,可以完成非常复杂的操作,如果同样的操作用图形界面的工具来完成,恐怕要多花十几陪的时间。 |
|