網頁程式碼閱讀工具
GNU GLOBAL 是一個原始碼標記系統, 能夠很方面的進行程式碼閱讀和程式碼索引. 在你的原始碼中,你可以找到不同的物件並能夠很輕鬆的移動它們, 如函式、巨集、結構、類等. 這對大型專案非常有用, 特別是那種包含許多子目錄, 許多 #ifdef 和很多 main( ) 函式的專案.
1、編譯安裝global
通過如下網址下載原始碼包
https://www.gnu.org/software/global/download.html
安裝編譯所需的gcc,ncurses-devel 包等。然後解壓tar.gz原始碼包,解壓後,進入原始碼目錄,執行如下進行編譯。
./configure --with-sqlite3 # gtags可以使用Sqlite3作為資料庫, 在編譯時需要加這個引數 make make install
2、建立網頁檔案
下載要閱讀的程式碼,在程式碼目錄下,執行gtags –v生成tag檔案,如果之前已經生成過,可執行gtags -iv實現增量更新。執行htags命令,預設會在當前目錄下生成HTML目錄,該目錄下存放HTML檔案以及cgi-bin程式。
htags -DfFnva -m "指定main函式的名稱" -t '這裡填入你想要的主頁title'
如:
htags -DfFnva -m "main" -t 'kernel-4.19'
3、搭建伺服器
yum 安裝httpd,然後配置etc/httpd/conf/具體內容配置可以參考如下連結:
https://blog.csdn.net/lcl_xiaowugui/article/details/78607093
httpd的主配置檔案為/etc/httpd/conf/httpd.conf,子目錄配置檔案為/etc/httpd/conf.d,我們現在在這個目錄下面增加一個名為*.conf的檔案,告訴httpd,html和cgi-bin對應的目錄。對於配置檔案我們只在conf.d目錄下增加了如下內容的kernel.conf.
<VirtualHost *:80> DocumentRoot /mnt/linux-4.19.2/HTML ServerName 9.xx.xx.xx:80 <Directory "/mnt/linux-4.19.2/HTML"> Options Indexes FollowSymLinks AllowOverride None Require all granted</Directory> ScriptAlias /cgi-bin/ "/mnt/linux-4.19.2/HTML/cgi-bin/" <Directory "/mnt/linux-4.19.2/HTML/cgi-bin"> AllowOverride None Options None Require all granted </Directory> </VirtualHost>
配置好後重啟httpd服務,systemctl restart httpd。
在瀏覽器中輸入ip:埠號,就可以直接訪問介面了,但是會出現403錯誤,告知使用者無許可權訪問。我們把/mnt/linux-4.19.2/HTML這個目錄的上級目錄以及這個目錄下面的檔案許可權都改為other可讀就可以了。我改成了755許可權,可以訪問。
另外也需要關閉防火牆和selinux。關閉防火牆: systemctl stop firewalld, 關閉selinux:http://blog.51cto.com/itchenyi/1032696