仓酷云
标题:
Linux设计浏览Linux源代码的工具---lxr和glimpse简介仓酷云
[打印本页]
作者:
透明
时间:
2015-1-18 11:38
标题:
Linux设计浏览Linux源代码的工具---lxr和glimpse简介仓酷云
要多动手,不要怕什么搞坏了怎么办,你不搞坏,不去动手,就永远不会有收获,既然你在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命令,可以完成非常复杂的操作,如果同样的操作用图形界面的工具来完成,恐怕要多花十几陪的时间。
作者:
若天明
时间:
2015-1-21 11:46
和私有操作系统不同,各个Linux的发行版本的技术支持时间都较短,这对于Linux初学者是往往不够的。
作者:
乐观
时间:
2015-1-25 10:34
不同于Windows?系统需要花钱购买,因为Linux的核心是免费的,自由使用的,核心源代码是开放的。
作者:
活着的死人
时间:
2015-2-2 21:39
用户下达的命令解释给系统去执行,并将系统传回的信息再次解释给用户,估shell也称为命令解释器,有关命令的学习可参考论坛相关文章,精通英文也是学习Linux的关键。
作者:
冷月葬花魂
时间:
2015-2-7 18:25
熟悉系统的基本操作,Linux的图形界面直观,操作简便,多加上机练习就可熟悉操作,在Linux下学习办公软件等常用软件。
作者:
分手快乐
时间:
2015-2-22 20:37
在学习的过程中,我们用的是VM虚拟机,开始时真的不真的该怎么去做,特别是我的是命令窗口界面,别人的是图形界面,我都不知道怎么调过来。
作者:
只想知道
时间:
2015-3-6 21:40
这也正是有别的OS得以存在的原因,每个系统都有其自身的优点。?
作者:
简单生活
时间:
2015-3-13 21:38
有疑问前,知识学习前,先用搜索。
作者:
admin
时间:
2015-3-14 15:24
学习Linux,应该怎样学,主要学些什么,一位Linux热心学习者,一段学习Linux的风云经验,历时十二个小时的思考总结,近十位网络Linux学习者权威肯定,为您学习Linux指明方向。
作者:
深爱那片海
时间:
2015-3-21 11:17
学习Linux半年了~个人认为不会的多在网上找资料网上有很多资料可以搜索到,LS那位说放手去搞。
作者:
再见西城
时间:
2015-3-22 04:14
尽量不要提问纯属是扯蛋.学习Linux特别是自己一个人初学入手的时候没人教很困难.当然如果可以的话平时多去买些Linux书...对学习Linux很有帮助.
作者:
金色的骷髅
时间:
2015-4-18 16:39
虽然大家都比较喜欢漂亮的mm,但是在学 linux 的过程中,还是要多和“男人”接触一下:P 遇到问题的时候,出来看说和上网查之外,就是要多用 linux 下的 man 命令找找帮助。
作者:
飘飘悠悠
时间:
2015-4-25 09:51
用户下达的命令解释给系统去执行,并将系统传回的信息再次解释给用户,估shell也称为命令解释器,有关命令的学习可参考论坛相关文章,精通英文也是学习Linux的关键。
作者:
爱飞
时间:
2015-4-26 19:06
如果你有庞大而复杂的测试条件,尽量把它剪裁得越小越好。可能你会遇到这种情况,对于一个问题会出现不同内容回答,这时你需要通过实践来验证。
作者:
飘灵儿
时间:
2015-5-5 00:56
把这个问题放在其他Linux社区请求帮助也是一种选择。如果Linux得不到答案,请不要以为我们觉得无法帮助你。有时只是看到你问题的人不知道答案罢了。这时换一个社区是不错的选择。
作者:
海妖
时间:
2015-5-7 15:12
首先Linux是开源的,这也是最主要的原因,想学windows,Unix,对不起我们没源代码。也正是因为这样,Linux才能够像滚雪球一样越滚越大,发展到现在这种规模。
作者:
精灵巫婆
时间:
2015-6-13 23:51
随着Linux应用的扩展,出现了不少Linux社区。有一些非常优秀的社区往往是Linux高手的舞台,如果在探讨高级技巧的论坛张贴非常初级的问题经常会没有结果。
作者:
莫相离
时间:
2015-6-23 09:19
工具书对于学习者而言是相当重要的。一本错误观念的工具书却会让新手整个误入歧途。目前国内关于Linux的书籍有很多不过精品的不多。
作者:
变相怪杰
时间:
2015-7-3 09:11
编程学习及开发,Linux是免费,开源的操作系统,并且可开发工具相当多,如果您支持自由软件,一定要同广大热爱自由软件人士一同为其不懈努力。
作者:
仓酷云
时间:
2015-7-6 18:37
随着实验课程的结束,理论课也该结束了,说实话教OS的这两位老师是我们遇到过的不错的老师(这话放这可能不太恰当).
欢迎光临 仓酷云 (http://ckuyun.com/)
Powered by Discuz! X3.2