
1.5.2 Source Insight
由于U-Boot、Linux内核源码等都是相当庞大的工程,文件成千上万,为了方便编写和阅读代码,特此向读者推荐Source Insight编辑器。
有时候,源码分析的难度不只在于源码本身,而在于如何使用更合适的分析代码的工具和手段。Source Insight非常好用,支持几乎所有的语言,如C、C++、ASM、PAS、ASP、HTML等。Source Insight与其他的编辑器产品相比较,增添了分析源代码,并在编辑的同时立刻提供给您有用的信息和分析等众多人性化功能。
目前能找到的最新版本是Source Insight 3.5.0072。从网上下载该软件,并进行安装。过程很简单,读者可自行完成。
安装完成之后打开Source Insight软件,如图1.8所示。

图1.8 打开Source Insight界面
由于Source Insight中C语言文件中所默认支持的只有.c和.h文件,因此需要增添支持其他后缀名的文件。点击“Options”菜单下的“Document Options”子菜单,将弹出如图1.9所示的对话框。

图1.9 添加支持其他后缀名文件
在“File filter”下面添加“*”,表示支持任何后缀名文件。
单击“Project”菜单下的“New Project”子菜单,弹出如图1.10所示的对话框。

图1.10 新建工程
单击“Browse…”按钮可以更改工程存放路径,在“New project name”文本框下面输入新建工程的名字。完成之后单击“OK”按钮,进入如图1.11所示的对话框。

图1.11 源码存放位置
确定源码存放位置之后,单击“OK”按钮,进入添加源码界面,如图1.12所示。

图1.12 给工程添加源码
将所需要添加的源码——添加入工程。如果需要将所有U-Boot-2012.10工程文件全部添加进入工程,则单击左侧的U-Boot-2012.10目录,在单击“Add All”按钮,则全部添加,进入如图1.13所示的界面。

图1.13 添加文件
完成之后,单击“Project”菜单下的“Synchronize Files…”命令,同步所有工程文件,如图1.14所示。

图1.14 同步文件
单击“OK”按钮开始同步文件,这样工程中的各个变量、函数之间的关系就可以快速查阅了。同步完成之后便可进入阅读和编写工程文件,如图1.15所示。

图1.15 工程文件阅读和编写界面