Linux内核模块


可以借助一些IDE或者编辑器+相应插件辅助你,比如Visual Studio,Eclipse C/C++,Visual Code + C/C++插件,Vim + 相关插件等等。


内核代码阅读是一项非常艰难的事情,主要是代码量太大,并且模块间还有一定的耦合。如何阅读内核代码,可以从两方面考虑,一点是借助有效的工具,比如si或者vim,另外一个是要选择性阅读,比如按特性。

工具选择上,比较好的工具可以有效提高代码阅读的效率。因此首先要选好工具。

从代码阅读上,以特性为出发点,可以先从网上了解一下特性具体功能,然后再阅读。另外不建议一下子钻的太深,适当跳出来,先从大局理解,然后再细节。


ctags打标签,可以跳转到函数声明,也可以使用grep命令查找函数应该如何使用。


grep前提是你知道要搜什么


我从来都不知道该怎么教别人读懂代码 但是读log/blame通常是最好的方式

搜索的话 Mainline直接在Linus的github repo里搜索

https://github.com/torvalds/linux?

github.com图标

如果是要在特定旧版本里搜索的话

Linux source code: (v4.17.11)?

elixir.bootlin.com

搜索可以定位到Linux 2.6

命名比较common的就加个模块名字 比如"enabled_fops 模块名"


在linux下面用vim的插件ctags来查看源码,可以在源码中直接跳转,很方便


推荐阅读:
相关文章