亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 2430 | 回復(fù): 0
打印 上一主題 下一主題

關(guān)于LXR和glimpse配置實現(xiàn)方便閱讀Linux源代碼的過程 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2010-01-15 22:20 |只看該作者 |倒序瀏覽

                關(guān)于LXR和glimpse配置實現(xiàn)方便閱讀Linux源代碼的過程
注:本文主要參考下面的資料                            時間:2010-1-15
參考資料1:
http://hi.baidu.com/fanzier/blog/item/3ad7d7546f58a55dd009066b.html
    資料2:
http://blog.csdn.net/zjujoe/archive/2009/05/18/4199025.aspx
其中的相同部分沒有做修改,在此聲明,有“注意:”的地方是結(jié)合自己的情況進行的修改。
(本人機器的OS---Ubuntu 9.10)
1.安裝apache2
$sudo apt-get install apache2
2.安裝lxr
$sudo apt-get install lxr
編輯修改lxr.conf文件
$sudo vi /usr/share/lxr/http/lxr.conf
修改glimpse的路徑
找到 glimpsebin這一行,修改成你機器上glimpse的位置(自己查看使用$whereis glimpse)
glimpsebin: /usr/local/bin/glimpse  
注:紅色部分是我機器上的glimpse的位置
3. 在/etc/apache2/httpd.conf 末尾加上以下內(nèi)容:
Alias /lxr /usr/share/lxr
Options All
AllowOverride All
這樣可以達到http://localhost/lxr/ =>/usr/share/lxr
4. 在/usr/share/lxr/http下創(chuàng)建文件 .htaccess,
$sudo vi /usr/share/lxr/http/.htaccess
并添加下面的內(nèi)容:
SetHandler cgi-script
5.
$sudo /etc/init.d/apache2 restart
6. 創(chuàng)建/usr/share/lxr/source/XX目錄 (XX為版本號)
$mkdir /usr/share/lxr/source/2.6.30.10
然后在/usr/share/lxr/source/2.6.30.10 下創(chuàng)建linux符號連接
$ln -s   /home/my/linux-2.6.30.10  /usr/share/lxr/source/2.6.30.10/linux
注:這里的黃色部分改成你目前的源代碼的所在目錄,比如 /home/you/linux-2.6.30.10
7. 創(chuàng)建/usr/share/lxr/source/versions,這里記錄所有要看的版本
sudo vi /usr/share/lxr/source/versions
將下面的版本號(自己的源代碼版本號)添加到versions中
2.6.30.10
2.6.32.3
創(chuàng)建/usr/share/lxr/source/defversion,這里記錄缺省要看的版本,
$sudo vi /usr/share/lxr/source/defversion
添加缺省查看的版本號:
2.6.30.10
這里為什么是這兩個文件,見/usr/share/lxr/http/lxr.conf里的相關(guān)設(shè)置
8. 建立索引
$cd /usr/share/lxr/source/2.6.30.10/
$sudo glimpseindex -H  ../  ./linux
$sudo genxref  ./linux  
    上面的兩個命令運行時間稍微長一些,主要是生成freetext交叉索引數(shù)據(jù)庫(glimpseindex)和關(guān)鍵字交叉索引數(shù)據(jù)庫(genxref),上面兩個命令不可顛倒順序,見下面的注
注:
1. 資料1原文中的順序是:
$sudo glimpseindex -H /usr/share/lxr/source/2.6.22/ /usr/share/lxr/source/2.6.22/linux  
$sudo genxref 2.6.22
自己按照上面實驗順序后,發(fā)現(xiàn)最后的源碼不能很好的鏈接上,不可以實現(xiàn)符號跳轉(zhuǎn),僅僅是顯示代碼
2. 這里如果沒有安裝glimpse,運行sudo glimpseindex -H  ../  ./linux ,會提示沒有相關(guān)的命令glimpseindex
于是安裝glimpse,需要到http://webglimpse.net/download.php下載
glimpse-latest.tar.gz
然后在下載文件所在的目錄執(zhí)行
$
tar
-zxvf  
glimpse-latest.tar.gz
$
./configure
$
make        //注意這里會提示沒有flex命令,需要安裝flex ,直接sudo apt-get install
flex
$
sudo
make
install
8.修改屬性
$sudo chmod +r -R /usr/share/lxr/source/2.6.30.10/*
9.
$sudo /etc/init.d/apache restart
啟動瀏覽器輸入下面的URL即可查看,很方便呀。
http://localhost/lxr/http/blurb.html
10.  如果還要添加其他的版本源代碼,只需要按照順序從第6步執(zhí)行一直到第9步,這樣就可以查看多個版本的源代碼了,比較方便。
11. 附加心得:
最初在網(wǎng)上的找linux下的源代碼查看工具,介紹的好幾種,最初實驗的kscope,有個問題就是他需要依賴下面的軟件:
Qt4 version 4.4.0 and above
QScintilla2 (
http://www.riverbankcomputing.co.uk/software/qscintilla/download
)
Standard build tools
安裝上面的軟件之后,make還是出錯,發(fā)現(xiàn)提示一些cpp文件中未定義的符號,這個要一個個修改比較麻煩了。
    所以后來又試了一下 deb包,安裝提示需要libqscintilla2-3,好下載先安裝這個libqscintilla2-3,然后安裝kscope 的deb包,成功了。『髞戆l(fā)現(xiàn)根本啟動不了,提示segmentation fault,這個郁悶壞了,網(wǎng)上有的說的是個bug,然后試著安裝低版本的kscope—1.6.2,還是出現(xiàn)同樣的segmentation fault,唉,暫時想不出解決反感,只好放棄kscope了。
    接著實驗global,發(fā)現(xiàn)好像是命令行的東西,要是命令行熟悉的話,就用vim+ctags了,只是想找稍微簡單一點,我只是想瀏覽源代碼,不想提前記好多命令,呵呵,有點懶啦,只好作罷
     最后選擇據(jù)說比較難安裝的LXR,網(wǎng)上這方面的資料很多,一步一步接著做,然后修改了其中的一些敘說不完善的地方,發(fā)現(xiàn)竟然成功了,很好,原來這個復(fù)雜的東西不是這么夸張,比前面的要好點,還是幸虧這么完備的網(wǎng)上共享的資料呀,感謝那么多對這些資料做出過補充完善的作者。
    最后的一點缺憾是不能像LXR主站上的服務(wù)器上的源代碼的那種鏈接跳轉(zhuǎn),可能是哪里沒有配置正確,不過還是邁出了一大步,下面在繼續(xù)研究吧!!----已經(jīng)解決,就是前面的glimpseindex和genxref運行順序問題,
12.將來問題
    目前發(fā)現(xiàn)查看源代碼跳轉(zhuǎn)有時還是比較慢,我感覺是數(shù)據(jù)庫查找效率問題,這是算法的問題吧,應(yīng)該不牽涉瀏覽器的問題吧??
    歡迎大家提出自己的看法。
               
               
               
               
               

本文來自ChinaUnix博客,如果查看原文請點:http://blog.chinaunix.net/u3/95128/showart_2150457.html
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP