【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】

大家都知道,linux kernel代码很多,文件多,行数多。作为学习和开发来说,阅读kernel代码常常又是我们必须要做的工作,那么怎么最大效率地阅读代码呢?我的经验就是用source insight创建kernel工程,接着就将文件减到最少,删除不必要的文件和目录。

1、只选择一个cpu类型,比如arm,这样只需要保留arch/arm

2、只选择一家公司的soc,比如samsung下面的soc,这样只需要保留arch/arm/plat-samsung

3、只选择samsung下的一种芯片,比如arch/arm/mach-s3c24xx

4、删除不必要的drivers代码

5、删除不必要的fs代码

6、删除不必要的network协议代码

7、删除不需要的代码,比如crypto、firmware、sample、tools、sound等等

8、可以查看一下开发板的代码工程,实际编译的时候又有哪些文件是不需要的,再次删除

9、添加汇编文件,默认工程不会添加汇编文件,创建索引,下面就可以愉快地阅读代码了

经过这样,原来的内核代码文件数会被减少到9000多个,其中4000多个文件是head文件,可以极大的降低代码阅读的难度。当然,如果中间有误删除的代码,也可以添加上重新恢复使用。

随想录(怎么用source insight阅读kernel代码)相关推荐

  1. Source Insight——C/C++代码阅读器

    背景 今天因为要看一个相关课题的C源码,而我又不专门学C所以就没有关于C的IDE.我本来用笔记本阅读器来看,是在太辛苦了. 后来看到了一篇博客,推荐了Source Insight软件,软件小,还能自动 ...

  2. 【editor】Source Insight定制之代码风格自动校准功能(AStyle的使用)

    前一篇博文讲了Source Insight编辑器中简单的宏命令(Macro)的制作方式,并与快捷键关联起来.只是为了解决代码的风格和快捷键注释的问题.但从目前来看,只有代码的快捷注释功能是有实用价值的 ...

  3. source insight 4.0 代码函数变量符号高亮

    用source insight 看代码比较方便,怎么打开代码高亮提示功能??提高代码阅读效率.之前我们是用快捷键F8.现在我们可以通过配置source insight更加方便实现这个功能. 按F8后效 ...

  4. 【Android 系统开发】使用 Source InSight 阅读 Android 源码

    1. 安装 Source Insight (1) Source Insight 相关资源 安装相关资源 : -- 下载地址 : http://www.sourceinsight.com/down35. ...

  5. 将Source Insight里面着色代码拷贝到word里面的方法

    1.用Source Insight打开文件后,File->Print: 2.在 常规->选择打印机中,选择"Adobe PDF"(或者其他pdf打印机): 3.点确定, ...

  6. linux 修改内核源码,Source Insight阅读linux内核源代码——根据其他文章修改

    由于Source Insight实质上是一个支持多种开发语言(java,c ,c++等等)的编辑器,只不过由于其查找.定位.彩色显示等功能的强大,而被我们当成源代码阅读工具使用. Step 2:新建项 ...

  7. 工具及方法 - 在Source Insight中使用代码格式化工具

    在Source Insight 4.0中,有代码格式化工具: 当你打开某个源文件后,可以对当前文件进行格式修改: 有ANSI.GNU.K&R三种编码风格可以选择. 也可以自己进行设置: 同时, ...

  8. 随想录(在实践中学习kernel代码)

    [声明:版权所有,欢迎转载,请勿用于商业用途.  联系信箱:feixiaoxing @163.com] 记得我在读书的时候,虽然老师也教过操作系统的课程,但是自己的理解却不是很充分,实践部分的内容就更 ...

  9. 在Source Insight中看Python代码

    http://blog.csdn.net/lvming404/archive/2009/03/18/4000394.aspx SI是个很强大的代码查看修改工具,以前用来看C,C++都是相当happy的 ...

最新文章

  1. fabric.js 不同类型 不同控件_耐温灌封胶都哪几个类型?不同类型的灌封胶有哪些不同之处?...
  2. python list转换成array_一文掌握Python【不定期更新】
  3. mysql里面有没有map类型_MySQL学习(二) 数据类型
  4. Python中re模块的常见方法
  5. NodeJS 正则路由匹配
  6. 力扣题目——429. N 叉树的层序遍历
  7. 在Linux上运行ASP.NET vNext
  8. python项目总结与展望_2019年项目总结与展望范文
  9. windows server 2012设置桌面图标
  10. 计算机无法打开压缩包,压缩包损坏或压缩格式未知且无法打开
  11. dota2自走棋Android怎么更新,dota2自走棋
  12. lae界面开发工具入门之介绍八--消息转发器组件篇
  13. git提交到主干后,本地将主干代码更新到分支上
  14. Graham扫描法求解凸包问题(C++)
  15. 【图片新闻】低空穿越的美军MC-130J突击队II特种作战运输机
  16. 7⽂件查找和压缩问题和练习
  17. Springboot2中文件上传报java.io.FileNotFoundException: C:\Users\WIzarder\AppData\Local\Temp\tomcat.8080.589
  18. python-opencv之图像滤波(blur,boxFilter,GaussianBlur,medianBlur)
  19. 农家女靠养花赚钱,年收入几十万
  20. Doxygen 配置详解

热门文章

  1. 费尔德曼的百吉饼实验:人类的诚实程度其实超出你的想象!
  2. Android快速开发框架LoonAndroid (转)
  3. 【转】关于PHP的header(P3P: CP=CURa……)
  4. Javascript、Jquery获取浏览器和屏幕各种高度宽度
  5. Linux系统--Linux进程与作业管理(2)
  6. Citrix Receiver for Mobile Phone
  7. Ural 1297 Palindrome(后缀数组+最长回文子串)
  8. unity3d-ngui UIScrollView 滚动方向与滚轮相反
  9. bzoj 2330 糖果
  10. 软工实践项目课程的自我目标