首頁 > 系統教程 > Linux > 主體

了解Linux核心開發的原始碼閱讀和編輯的工具和方法有哪些?

WBOY
發布: 2024-01-26 22:42:22
轉載
1190 人瀏覽過

進行嵌入式Linux產品開發,常常必須將核心剪裁和訂製,以滿足嵌入式產品的功能和效能需求。本文介紹幾種閱讀Linux核心原始碼的工具和技巧。

這兒所說的「Linux核心開發」只是指嵌入式Linux產品開發中核心與驅動相關開發工作,與Linux所領導的核心開發團隊的核心開發有很大不同。

老話說“工欲善其事,必先利其器”,面對幾千兆的Linux內核代碼,要閱讀、查看或則搜索其中的代碼,大部份初次接觸到Linux內核代碼的開發人員,都有無從下手的覺得。下邊推薦幾個原始碼閱讀和索引工具,能為後續核心開發提供一些便利。

1、SourceInsight

SourceInsight是Windows平台下一個流行度極高的原始碼閱讀和編輯工具。不少Linux開發人員還是習慣在Windows下進行原始碼編輯,甚至查看和編輯Linux核心原始碼,仍然在SourceInsight中完成。

說明:SourceInsight是一款版權軟體,須要自行解決版權問題。

安裝SourceInsight軟體後,新建一個工程,命名並指定資料儲存位置,如圖1.1所示。

圖1.1新建工程

點選OK按鍵,步入工程設定介面,如圖1.2所示。

圖1.2工程設定

之後加入原始碼。瀏覽選取Linux核心原始碼資料夾後,點選「AddTree」按鈕,將核心原始碼樹的全部檔案加入工程中,如圖1.3所示。

圖1.3加入核心原始碼

新增完成,即可在SourceInsight中進行原始碼閱讀和編輯了,如圖1.4所示。

圖1.4在SourceInsight中閱讀原始碼

2、Eclipse

linux内核源码在线阅读_linux内核代码在线_linux 内核代码阅读工具

#Eclipse是一個跨平台IDE,既能運行於Windows平台,也能在Linux下運作。不少習慣於圖形介面操作的開發人員,在Linux下則習慣於用Eclipse來查看和編輯Linux源碼。

假如僅僅是在Eclipse中查看Linux核心原始碼,則可以毋須事先安裝交叉編譯器,否則則須事先安裝好交叉編譯器。

建立核心原始碼工程。點選FileàNewàProject,開始建立工程,在工程建立介面選擇建立C工程,如圖1.5所示。

圖1.5創建C工程

點選Nextlinux驅動程式下載,在CProject介面的Projectname欄位填入工程名稱,移除「Usedefaultlocation」的勾,點選Browse將Location設定為Linux核心原始碼目錄linux 核心程式碼讀取工具,如圖1.6所示。若果實不在Eclipse中編譯內核,則使用LinuxGCC即可,否則請使用已安裝的CrossGCC。

圖1.6匯出Linux核心原始碼

之后点击Finish,完成Linux内核源码导出,在Eclipse中即可进行代码阅读和编辑了,如图1.7所示。

图1.7在Eclipse中浏览内核源码

在Eclipse中进行源码跟踪,只需选择函数、变量或则宏定义后按F3即可。更多的操作可在Navigate中找到。

3、vim ctags cscope

Vi/Vim是一个文本编辑器,在Vim中能高效的实现代码编辑。但Vim的功能不仅仅是一个文本编辑器,利用ctags和cscope的配合,Vim能实现堪称图形IDE环境的源码编辑和阅读功能,在某种程度上甚至比图形IDE更便捷。

Vi/Vim的安装不再介绍了。倘若不是通过远程登陆在远程服务器上工作,而是在本地桌面系统操作,还可以用gvim启动Vi编辑器。

lTaglist

Taglist是Vim的一个源码浏览插件,可从网站获得。下载到压缩包后,在本地解压,之后将解压得到目录中的plugin目录复制到~/.vim目录。假如用房主目录下没有.vim目录,则构建一个这样的目录即可。

lCtags

Ctags是一个用于形成tags文件的软件,可以下载源码进行编译安装,在Ubuntu下,可通过apt-get进行安装:

$sudoapt-getinstallexuberant-ctags

l源码阅读和跟踪

步入打算查看的源码所在目录,首先生成tags文件:

$ctags-R

执行时间长短取决于源码数目的多少,执行完毕,在当前目录下可看见一个tags文件。源码越多,执行时间越长,形成的tags文件也越大。

注意:假如更改了源码,代码行号发生了变化,须要重新生成tags文件。

(1)查看函数等定义。用Vi/Vim打开一个C文件。倘若晓得某个函数、变量、结构或则宏定义在哪些地方定义linux软件下载,先将光标联通到函数(变量、结构或则宏定义)上,之后按CTRL ]即可。查看后,按CTRL o可回到原先所在位置。

(2)查看文件函数列表。打开C文件后,在Vi/Vim的命令状态下输入:TlistToggle(Vi/Vim的命令输入支持补全),在Vi/Vim右边还会出现函数列表侧栏,如图1.8所示。按CTRL ww(2次w),可在列表和代码查看区间切换。

图1.8Vi/Vim的函数列表侧栏

假如在本地桌面,用Gvim打开C文件,使用上去比较接近IDE集成环境。用键盘双击函数即可跳转到函数定义的地方,CTRL 滑鼠右键即可回挪到原先所在位置。更多实用特点,还须要在实际操作中体验。

4、LXR

LXR是LinuxCrossReferencer的简写,是一个比较流行的Linux源码查看工具,其实也不仅仅局限于查看Linux源码。LXR的下载地址为:,参考该网站的安装说明linux 内核代码阅读工具,很容易在本机搭建一个本地LXR用于源码查看。

若果不想搭建本地LXR,可以直接瀏覽早已搭好的LXR網站,推薦兩個網站:一個是開源中國網站提供的Linux源碼在線閱讀,另一個是網站,後者速率較快,而且提供的Linux核心版本較少,前者則提供的版本較多。網站提供了原始碼閱讀、關鍵字搜尋和自由文字搜尋功能。二者的網頁快照分別如圖1.9、圖1.10所示。

圖1.9網頁快照

圖1.10網頁快照

以上是了解Linux核心開發的原始碼閱讀和編輯的工具和方法有哪些?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:itcool.net
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!