搜索
首页系统教程LINUX了解Linux内核开发的源码阅读和编辑的工具和方法有哪些?

进行嵌入式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。如有侵权,请联系admin@php.cn删除
如何使用Next' Linux中的尴尬命令 - 第6部分如何使用Next' Linux中的尴尬命令 - 第6部分May 15, 2025 am 10:43 AM

在我们的尴尬系列的第六部分中,我们将探索下一个命令,该命令可以通过跳过冗余处理步骤来提高脚本执行的效率。下一个命令是什么?awk instruc中的下一个命令

如何在Linux中有效传输文件如何在Linux中有效传输文件May 15, 2025 am 10:42 AM

在Linux系统中传输文件是一项常见任务,每个系统管理员都应掌握,尤其是涉及本地或远程系统间的网络传输。Linux提供了两种常用的工具来完成此任务:SCP(安全复制)和Rsync。两者都提供了一种安全且便捷的方式,用于在本地或远程机器之间传输文件。本文将详细介绍如何使用SCP和Rsync命令来传输文件,包括本地和远程文件传输。了解Linux中的scp(安全复制协议)scp命令是一个命令行程序,用于在两个主机之间通过SSH(安全 Shell)安全地复制文件和目录,这意味着在文件通过互联网传输时,数

有史以来最受欢迎的Linux桌面环境有史以来最受欢迎的Linux桌面环境May 15, 2025 am 10:35 AM

与Windows和Mac OS X相比,Linux的一个引人入胜的功能是对各种桌面环境的支持。这使桌面用户可以根据其计算要求选择最合适且最合适的桌面环境。A

如何在Linux桌面中安装Libreoffice 24.8如何在Linux桌面中安装Libreoffice 24.8May 15, 2025 am 10:15 AM

Libreoffice脱颖而出,是一个健壮的开源办公室套件,适用于Linux,Windows和Mac平台。它拥有一系列用于处理Word文档,电子表格,演示,图纸,计算和Mathematica的高级功能

如何使用linux中的仅限文件来处理PDF文件如何使用linux中的仅限文件来处理PDF文件May 15, 2025 am 09:58 AM

管理PDF文件的Linux用户可以使用各种程序。具体来说,有许多专门为各种功能设计的专业PDF工具。

如何使用AWK和STDIN过滤命令输出如何使用AWK和STDIN过滤命令输出May 15, 2025 am 09:53 AM

在AWK命令系列的较早部分中,我们的重点主要是从文件中读取输入。但是,如果您需要从stdin中读取输入怎么办?在Awk系列的第7部分中,我们将探索几个示例,您可以在其中使用O的输出。

CLIFM- Linux的Lightning -Fast终端文件管理器CLIFM- Linux的Lightning -Fast终端文件管理器May 15, 2025 am 09:45 AM

Clifm是一个独特而令人难以置信的迅速命令行文件管理器,在类似壳的界面的基础上设计。这意味着用户可以使用他们已经熟悉的命令与他们的文件系统互动。

如何从Linux Mint 21.3升级到Linux Mint 22如何从Linux Mint 21.3升级到Linux Mint 22May 15, 2025 am 09:44 AM

如果您不想执行Linux Mint 22 Wilma的新安装,则可以选择从以前的版本中升级。在本指南中,我们将详细介绍从Linux Mint 21.3升级的过程(21.X系列的最新次要版本

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

mPDF

mPDF

mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

Atom编辑器mac版下载

Atom编辑器mac版下载

最流行的的开源编辑器

螳螂BT

螳螂BT

Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

功能强大的PHP集成开发环境