0

0

了解Linux内核开发的源码阅读和编辑的工具和方法有哪些?

WBOY

WBOY

发布时间:2024-01-26 22:42:22

|

1661人浏览过

|

来源于ITcool

转载

进行嵌入式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网页快照

相关专题

更多
eclipse教程
eclipse教程

php中文网为大家带来eclipse教程合集,eclipse是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。php中文网还为大家带来eclipse的相关下载资源、相关课程以及相关文章等内容,供大家免费下载使用。

167

2023.06.14

eclipse怎么设置中文
eclipse怎么设置中文

eclipse设置中文的方法:除了设置界面为中文外,你还可以为Eclipse添加中文插件,以便更好地支持中文编程。例如,你可以安装EBNF插件来支持中文变量名,或安装Chinese Helper来提供中文帮助文档。本专题为大家提供eclipse设置中文相关的各种文章、以及下载和课程。

794

2023.07.24

c语言编程软件有哪些
c语言编程软件有哪些

c语言编程软件有GCC、Clang、Microsoft Visual Studio、Eclipse、NetBeans、Dev-C++、Code::Blocks、KDevelop、Sublime Text和Atom。更多关于c语言编程软件的问题详情请看本专题的文章。php中文网欢迎大家前来学习。

587

2023.11.02

Eclipse版本号有哪些区别
Eclipse版本号有哪些区别

区别:1、Eclipse 3.x系列:Eclipse的早期版本,包括3.0、3.1、3.2等;2、Eclipse 4.x系列:Eclipse的最新版本,包括4.0、4.1、4.2等;3、Eclipse IDE for Java Developers等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

165

2024.02.23

eclipse和idea有什么区别
eclipse和idea有什么区别

eclipse和idea的区别:1、平台支持;2、内存占用;3、插件系统;4、智能代码提示;5、界面设计;6、调试功能;7、学习曲线。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

135

2024.02.23

eclipse设置中文全教程
eclipse设置中文全教程

本专题整合了eclipse设置中文相关教程,阅读专题下面的文章了解更多详细操作。

105

2025.10.10

eclipse字体放大教程
eclipse字体放大教程

本专题整合了eclipse字体放大教程,阅读专题下面的文章了解更多详细内容。

135

2025.10.10

eclipse左边栏不见了解决方法
eclipse左边栏不见了解决方法

本专题整合了eclipse左边栏相关教程,阅读专题下面的文章了解更多详细内容。

110

2025.10.15

PHP WebSocket 实时通信开发
PHP WebSocket 实时通信开发

本专题系统讲解 PHP 在实时通信与长连接场景中的应用实践,涵盖 WebSocket 协议原理、服务端连接管理、消息推送机制、心跳检测、断线重连以及与前端的实时交互实现。通过聊天系统、实时通知等案例,帮助开发者掌握 使用 PHP 构建实时通信与推送服务的完整开发流程,适用于即时消息与高互动性应用场景。

2

2026.01.19

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Git 教程
Git 教程

共21课时 | 2.8万人学习

550W粉丝大佬手把手从零学JavaScript
550W粉丝大佬手把手从零学JavaScript

共1课时 | 0.2万人学习

微信小程序开发之API篇
微信小程序开发之API篇

共15课时 | 1.2万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号