久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

閱讀linux源代碼的工具---lxr和glimpse簡(jiǎn)介

 todaytomo 2007-01-03
我們?cè)陂喿xlinux源代碼時(shí)都有這樣的體會(huì):核心的組織相對(duì)松散,,

在看一個(gè)文件時(shí)往往要牽涉到其他的頭文件,、源代碼文件。如此來(lái)回

跳轉(zhuǎn)尋找變量,、常量,、函數(shù)的定義十分不方便,這樣折騰幾次,便使

讀代碼的心情降到了低點(diǎn),。



   lxr(linux cross reference)就是一個(gè)解決這個(gè)問(wèn)題的工具:他對(duì)

你指定的源代碼文件建立索引數(shù)據(jù)庫(kù),,利用perl腳本CGI動(dòng)態(tài)生成包含

源碼的web頁(yè)面,你可以用任何一種瀏覽器查閱,。在此web頁(yè)中,,所有

的變量、常量,、函數(shù)都以超連接的形式給出,,十分方便查閱。比如你

在閱讀/usr/src/linux/net/socket.c的源代碼,,發(fā)現(xiàn)函數(shù)

get_empty_inode不知道是如何以及在哪里定義的,,這時(shí)候你只要點(diǎn)擊

get_empty_inode,lxr將返回此函數(shù)的定義、實(shí)現(xiàn)以及各次引用是在什

么文件的哪一行,,注意,,這些信息也是超連接,點(diǎn)擊將直接跳轉(zhuǎn)到相應(yīng)

的文件相應(yīng)的行,。另外lxr還提供標(biāo)識(shí)符搜索,、文件搜索,結(jié)合程序

glimpse還可以提供對(duì)所有的源碼文件進(jìn)行全文檢索,,甚至包括注釋,!



   下面將結(jié)合實(shí)例介紹一下lxr和glimpse的基本安裝和使用,由于

glimpse比較簡(jiǎn)單,,就從它開始:



   首先訪問(wèn)站點(diǎn): target="_blank">http://glimpse.cs./ 得到glimpse

的源碼,比如我得到的是glimpse-4.12.5.tar.gz . 用root登錄,,在

任一目錄下用tar zxvf glimpse-4.12.5.tar.gz解開壓縮包,在當(dāng)前

目錄下出現(xiàn)新目錄glimpse-4.12.5 .進(jìn)入該目錄,,執(zhí)行make即可。進(jìn)

入bin目錄,,將文件glimpse和glimpseindex拷貝到/bin或/usr/bin下

即可,。如果單獨(dú)使用glimpse,那么只要簡(jiǎn)單的執(zhí)行g(shù)limpseindex foo

即可,,其中foo是你想要索引的目錄,,比如說(shuō)是/usr/src/linux .glimpseindex

的執(zhí)行結(jié)果是在你的起始目錄下產(chǎn)生若干.glimpse*的索引文件。然后

你只要執(zhí)行g(shù)limpse yourstring即可查找/usr/src/linux下所有包含

字符串yourstring的文件,。



   對(duì)于lxr,,你可以訪問(wèn)lxr.linux.no得到它的源代碼解包后,遵循如下步驟:



/*下面的文字來(lái)源于lxr的幫助文檔以及本人的安裝體會(huì)*/



   1)修改Makefile中的變量PERLBIN和INSTALLPREFIX,使它們分別為

perl程序的位置和你想lxr安裝的位置.在我的機(jī)器上,,PERLBIN的值為

/usr/bin/perl  .至于INSTALLPREFIX,,有如下原則,,lxr的安裝路徑

必須是web服務(wù)器能有權(quán)限訪問(wèn)。因此它的值簡(jiǎn)單一點(diǎn)可取

/home/httpd/html/lxr (對(duì)于Apache web server),。



   2)執(zhí)行 make install



   3)修改$INSTALLPREFIX/http/lxr.conf :

       baseurl : target="_blank">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    # 假如對(duì)linux核心代碼索引

       dbdir : /home/httpd/html/lxr/dbdir/  #dbdirk可任意起名,,且位置任意

       glimpsebin: /usr/bin/glimpse   #可執(zhí)行程序glimpse的位置



   4)在$INSTALLPREFIX/http/下增加一個(gè)文件.htaccess  內(nèi)容:

       <Files ~ (source|search|ident|diff|find)$> ***

       SetHandler cgi-script

       </Files>

     上面這個(gè)文件保證Apache server將幾個(gè)perl文件作為cgi-script.



   5)按照l(shuí)xr.conf中的設(shè)置建立dbdir ,按照上例,建立目錄

      /home/httpd/html/lxr/dbdir

     進(jìn)入這個(gè)目錄執(zhí)行$INSTALLPREFIX/bin/genxref yourdir

     其中yourdir是源碼目錄,比如/usr/src/linux

     如果要結(jié)合glimpse,,則執(zhí)行g(shù)limpseindex -H . yourdir



   6)修改 /etc/httpd/conf/access.conf ,加入

     <Directory /home/httpd/html/lxr/http>

      Options All

      AllowOverride All

      order allow,deny

      allow from all

     </Directory>

  

   7)進(jìn)入/etc/rc.d/init.d/  執(zhí)行

     killall httpd

     ./httpd start

     進(jìn)入X ,,用瀏覽器 target="_blank">http://yourIP/lxr/http/blurb.html

     大功告成 ,這下你可以舒心的讀源碼了,。



   注意:以上只是lxr和glimpse的基本用法,,進(jìn)一步的說(shuō)明可以

         參考連機(jī)文檔。如有問(wèn)題請(qǐng)與 href="mailto:sea_cloud@263.net">[email protected] 聯(lián)系,。


    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購(gòu)買等信息,,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多