Source Insight:Linux源代码阅读的利器
sourceinsight用法

sourceinsight用法sourceinsight是一个非常实用的源代码阅读工具,它可以帮助程序员更加方便地阅读和理解源代码。
本文将介绍sourceinsight的安装、配置和使用方法。
一、安装sourceinsight下载sourceinsight的安装包,双击运行,按照提示进行安装即可。
安装完成后,打开sourceinsight,会看到一个欢迎界面。
二、配置sourceinsight1.配置语言sourceinsight支持多种编程语言,我们需要配置它支持的语言。
点击“选项”菜单,选择“语言配置”,在弹出的对话框中勾选需要支持的语言,如C、C++、Java等。
勾选完成后,点击“确定”按钮保存配置。
2.配置字体sourceinsight默认的字体可能不太适合我们的阅读习惯,我们可以修改字体。
点击“选项”菜单,选择“字体配置”,在弹出的对话框中选择需要修改的字体,如“文本字体”、“注释字体”、“关键字字体”等。
修改完成后,点击“确定”按钮保存配置。
3.配置颜色sourceinsight默认的颜色也可能不太适合我们的阅读习惯,我们可以修改颜色。
点击“选项”菜单,选择“颜色配置”,在弹出的对话框中选择需要修改的颜色,如“文本颜色”、“注释颜色”、“关键字颜色”等。
修改完成后,点击“确定”按钮保存配置。
4.配置文件类型sourceinsight默认只支持几种文件类型,如果我们需要阅读其他类型的文件,需要手动添加支持的文件类型。
点击“选项”菜单,选择“文件类型配置”,在弹出的对话框中点击“添加”按钮,输入需要添加的文件类型,如“*.py”、“*.html”等。
添加完成后,点击“确定”按钮保存配置。
三、使用sourceinsight1.打开文件点击“文件”菜单,选择“打开文件”,在弹出的对话框中选择需要打开的文件,点击“打开”按钮即可打开文件。
2.导航代码sourceinsight可以帮助我们更加方便地导航代码。
Source-Insight使用技巧

sourceinsight使用技巧1 sourceinsight screen font的默认字体是Verdana的,它是一直变宽字体。
在Document style中可以将字体改为定宽的Courier2 勾掉indent Open Brace和Indent Close Brace的效果: 继上一段,在相对缩进行里, 如果输入"{"或"}", 则自动和上一行列对齐3 今天把一个用sourceinsight排版整齐的C文件,偶然用VC打开一看,全乱了。
研究了半天,发现SI对每个字符的宽度不太一致。
发现选上"view --> draft view",就可以让每个字符的宽度一致了。
快捷键是"Alt + F12"4 选中几行代码按tab键或者shift+tab可以左右移动代码,调整代码时很有用。
配置成简单好用的c/java代码编辑器1、缩进与tab(1)Options菜单àPreferencesàTyping卡,勾掉下面两项∶Typing tab indents line,regardless of selection,空行按tab无法前进Typing tab replaces current selection,选定部分容、再按tab时会清除所选(2)Options菜单àDocument Options(针对不同文件类型,分别进行设置)à下拉左上文件类型框、选择合适类型(c源文件)àEditing Options框中,tab width=2à Editing Options框中,勾选Expand tabs(这样,按tab键、等价于输入2个空格)(3)Options菜单àDocument Optionsà选择合适的文件类型à点击右边中间的Auto Indent钮à在弹出的框中,左边一定要点Smart,右边有两个复选框Indent Open Brace和Indent Close Brace,具体效果可以看SIS的HELP。
H.264视频编码标准学习工具

H.264视频编码标准学习工具【摘要】H.264视频编码标准发布后得到的广泛关注,但是由于H.264代码量巨大,给研究者带来了较多困难。
本文介绍了四款H.264视频编码标准的学习工具软件,以方便广大学者对于H.264编码标准的学习。
【关键词】H.264;代码阅读;码流分析0 引言近年来,随着流媒体技术、网络技术,特别是多媒体技术和计算机技术的迅猛发展,视频信息在人们的日常生活中占据的比重越来越大。
新一代视频编码标准H.264已经发布,就在视频编码领域得到的广泛关注。
但是在很长一段时间中,视频编码技术被认为只被视频编码研究领域的专家和学者所知。
究其原因,主要是因为视频编码技术所涉及的学科知识纷繁复杂,研究者需要有丰富的图像处理知识和编码知识,同时还需要学习JVT提供的带有源代码的参考软件。
学者需要在读懂代码的基础上,根据自己的理论研究成果修改源代码,以进行实验,验证学者提出或改进标准后编码算法的性能。
而在实际实验中,学习H.264视频编码标准的相关工具软件也不为一般学生所熟知,这为研究者的实验带来了较多困难。
本文将介绍四种学习H.264编码标准的必备软件。
1 代码阅读工具——source insight众所周知,在阅读代码时,研究者需要经常查看变量、函数、宏等符号的定义、定义位置,或者这些符号调用了何种符号或何处调用了这些符号。
source insight就很好的展现了它在阅读代码方面的优越性。
source insight是一个代码编辑器,学者可以直接在source insight中修改需要修改的参考软件的部分代码。
同时,source insight也是一个代码分析器,在编辑源代码时,source insight会在后台动态维护符号数据库,通过这个符号数据库,就可以实现查找、替换符号,跳转到符号定义处或者被引用处,检查符号拼写、符号匹配的在常用编译软件中难以实现的功能。
source insight界面操作很简单,不同种类的符号被赋予了不同的大小、图形和颜色,比如数字赋为红色,关键字赋为绿色,注释赋为蓝色,变量名函数名赋为蓝黑色,“#”号是包含的头文件,中间带着写有M的绿框代表宏定义绿色椭圆代表全局变量等。
source insight 用法

source insight 用法
sourceinsight是一款非常强大的源代码阅读工具,它提供了丰富的功能来方便我们查看和分析代码。
以下是一些 source insight 的用法:
1. 快速定位变量和函数的定义和引用:可以通过鼠标左键双击变量或函数名,或者使用快捷键 Ctrl+Alt+左键单击来直接跳转到定义或引用的地方。
2. 查看函数的调用关系:在函数名上右键单击,选择“函数调用关系”,可以查看该函数的调用关系图。
3. 搜索文本:可以使用快捷键 Ctrl+F 来搜索文本,包括当前文件、当前目录、指定目录等。
4. 在多个文件中搜索文本:可以使用 Ctrl+Shift+F 来在多个文件中搜索文本。
5. 查看代码结构:可以使用 Ctrl+Alt+J 来查看当前文件的代码结构,包括函数、变量和宏等。
6. 批量修改文本:可以使用批量替换功能来批量修改文本,包括当前文件、当前目录、指定目录等。
以上是一些 source insight 的用法,它们可以帮助我们更加高效地阅读和分析源代码。
- 1 -。
用vim替代sourceinsight

用V I M替代S O U R C E I N S I G H T 在浏览和修改稍微复杂的程序时候,确实source insight是个非常好的工具。
转到Linux以后,我一直在找替代工具。
最先是等anjuta,结果苦苦等到了一个鸡肋的。
然后,认真配置了下wine,用wine把si跑了起来,只是si的开发有些非常规,就算在win下面,中文注视等都是类似半角汉字的那样,而且,在实际使用中,快速查找参考的功能,有bug,曾经搞得我冒汗。
试想下,你在一堆源码里面通篇修改了一个变量的处理方式,等一个星期以后,发现si原来的搜索不全,有2个需要修改的地方漏了,不冒汗才怪。
(anjuta也有类似的问题)。
我当初使用vi,纯粹是为了能在任何时候(比如tty下面)都有个熟悉的编辑器而已。
偶尔一次看到了别人的vim的截图,发现支持一些函数列表,就赶紧搜索了一下,首先找到了一个中文的vim在线帮助(我已经贴论坛了&sid=0577f1936d33b3cc9b1e34b85233ebc9),有了中文帮助,当然中国人才最能理解其中的命令的确切含义,不想读英文帮助,半懂而已。
想起以前,看fvwm的英文帮助,是何等的艰难。
这下终于开始了逐篇的阅读。
才慢慢熟练了:h查找帮助的方法。
通过2天的奋斗,几乎读完了在线帮助,搜索了几个小时的的插件。
才发现vim 竟然完全可以达到si的常用的那些非常有特色的功能。
虽然界面还是有些简陋。
下面列举一下我认为需要实现的si的功能:1。
函数和变量的定义的即时浏览。
这个是非常有用的功能。
成千的变量,对于C/C++来说,一个类型错误都可能导致极难发现的问题,运行时出现无法预料的结果。
vim 里面使用taglist实现的。
并且多个文件的列表都在一起,还可以按照类型折叠,员阌阡馈2。
变量调用的通篇搜索。
涉及到一个全局变量的时候,可能10来个文件包括。
排错的时候,需要一个一个的地方去认真确认的。
【工利其器】必会工具之(一)SourceInsight篇

【⼯利其器】必会⼯具之(⼀)SourceInsight篇前⾔“Source Insight(以下简称SI)是世界上最好的编辑器”,说这句话不知道会不会出门被打呢?-_- 中国古话说得好,“⽂⽆第⼀,武⽆第⼆”,所以不敢说SI是最好的,但是说是“最好的之⼀”绝对是妥妥的。
它以丰富的语⾔⽀持、便捷的功能、快速的源码导航、实时的上下⽂显⽰、独⽴的符号数据库等众多优点,在全世界范围内⼴受程序员们的欢迎。
本⽂将结合笔者的实际操作和学习,基于SI3.5做⼀些使⽤记录。
另外,笔者对SI的使⽤,主要是⽤于阅读源码,本⽂介绍的功能也是基于阅读⽅⾯的。
本⽂的主要内容如下:⼀、SI简介SI是⼀款⾯向项⽬开发的程序编辑器和代码浏览器,它提供了⼀个视图将分散在各个地⽅的代码汇合在⼀起形成⼀个虚拟的整体,供开发者⽅便地阅读和编辑,如下图所⽰。
Source Insight was designed to enhance your ability to understand and modify your program. Our company mission is to increase programming team productivity by clarifying source code, presenting information in a useful way, and allowing programmers to modify software in large, complex projects. ……Source Insight acts as an information server that surrounds your project’s source code. With it, you can have instant access to symbolic and textual information in your program.该段英⽂摘⾃SI官⽅帮助⽂档,从这⾥可以看出SI的设计宗旨就是⽅便开发者查看和修改项⽬源码。
sourceinsight4用法

sourceinsight4用法SourceInsight是一款用于软件开发的集成开发环境(IDE),它主要用于代码浏览、编辑和导航等操作。
下面是一些SourceInsight的用法:1. 导入项目:打开SourceInsight后,可以选择“导入”或者“新建”项目,将你的代码文件导入到SourceInsight中。
2. 代码浏览:在SourceInsight的主界面,可以通过左侧的目录树来浏览和查看代码文件。
选中文件后,可以在右侧的编辑器中查看和编辑代码。
3. 代码导航:SourceInsight提供了多种导航功能,可以快速定位和跳转到代码中的特定位置。
例如,可以使用“跳转到定义”功能来查看变量或函数的定义位置。
4. 代码搜索:可以使用SourceInsight的搜索功能来查找特定的代码片段。
可以使用快捷键Ctrl+F来启动搜索功能,并输入你要查找的关键字。
5. 代码补全:SourceInsight具有代码补全功能,可以根据已输入的代码自动补全代码片段。
可以使用快捷键Ctrl+空格来触发代码补全。
6. 代码格式化:SourceInsight支持代码的格式化和美化,可以让代码更加清晰易读。
可以使用快捷键Ctrl+K+F来快速格式化选定的代码。
7. 代码调试:SourceInsight支持代码调试,可以在调试过程中查看变量、执行跟踪等操作。
可以使用快捷键F5来启动调试功能。
8. 插件扩展:SourceInsight支持通过插件来扩展功能。
可以根据自己的需要安装、配置和使用各种插件。
需要注意的是,以上是一些常见的用法,实际使用中可能会有一些差异和个性化的配置。
你可以根据自己的需求和习惯来使用和配置SourceInsight。
sourceinsight的使用方法逆天整理

sourceinsight的使⽤⽅法逆天整理A. why SI: 为什么要⽤Source Insight呢?因为她⽐完整的IDE要更快啊,⽐⼀般的编辑器便捷啊!她有逆天的查看定义,查看调⽤,查看引⽤功能以及⽅便的Context Window上下⽂显⽰,像这样的东西⾮常有利于查看⼤量代码! 那么问题来了——⽐如我现在随便找了⼀份源码,我该要怎么阅读呢?很简单,SI可以极其⽅便地将⼀个源码⽬录变成source insight⼯程,然后直接操作——来天吞天,来地含地:新建⼯程——>命名⼯程——>设置源码⽬录——>好了,去阅读吧。
那么⼜有⼀个问题,⽐如⽼⼦要设置字体背景之类的东西哩?呵呵,Options->Preferences…⾥⾯的内容能让你晚上做梦都笑醒了。
所以说到这⾥,SI的强⼤之处在于:速度快,阅读⽅便,设置⽅便。
当然这只是⼀⼩部分,她还有强⼤的⾃定义指令的功能,这个还在学习,放下不表。
但是,就这些基本的功能就已经能⽀持我很好的⼯作了啊!B. SI Project初体验与窗⼝布局介绍: 新建⼯程之后是add and remove files这个窗⼝,⼀般add tree就把⽂件夹⾥的所有⽂件都加载进这个⼯程了。
那么Load完成之后呢?close对话框就可以了啊。
close之前有个神奇的地⽅向⼤家介绍下——SI可以加不同路径的代码进⼊你的⼯程,嘿嘿嘿。
完成之后,Project Window就出现在右边了,点击其中任意⼀个⽂件,内容就显⽰在中央编辑区域了。
左边是Symbol Window,可以快速定位函数、变量定义等。
下⾯是Context Window,显⽰有⽤的上下⽂相关信息。
可以通过View菜单调出或者关闭各种窗⼝。
⽐如Relative Window可以显⽰出⽅法中调⽤的⽅法。
以下是source insight标准⼯作界⾯,从左到右从上到下分别是Symbol window /编辑区 / Project window / Relative window / Context window. 这样的布局是⾮常⽅便的,⼤家就按照这样布局就⾏。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
阅读源代码是钻研技术的最佳手段,而Linux提供了一个庞大的源代码库,但是,由于缺乏良好的源代码阅读工具,使得阅读Linux源代码尤其是内核源代码十分困难,在本文中,笔者向大家推荐一个优秀的源代码阅读工具,并介绍了它的使用方法。
作为一个开放源代码的操作系统,Linux附带的源代码库使得广大爱好者有了一个广泛学习、深入钻研的机会,特别是Linux内核的组织极为复杂,同时,又不能像windows平台的程序一样,可以使用集成开发环境通过察看变量和函数,甚至设置断点、单步运行、调试等手段来弄清楚整个程序的组织结构,使得Linux内核源代码的阅读变得尤为困难。
当然Linux下的vim和emacs编辑程序并不是没有提供变量、函数搜索,彩色显示程序语句等功能。
它们的功能是非常强大的。
比如,vim和emacs就各自内嵌了一个标记程序,分别叫做ctag和etag,通过配置这两个程序,也可以实现功能强大的函数变量搜索功能,但是由于其配置复杂,linux附带的有关资料也不是很详细,而且,即使建立好标记库,要实现代码彩色显示功能,仍然需要进一步的配置(在另一片文章,我将会讲述如何配置这些功能),同时,对于大多数爱好者来说,可能还不能熟练使用vim和emacs那些功能比较强大的命令和快捷键。
为了方便的学习Linux源程序,我们不妨回到我们熟悉的window环境下,也算是“师以长夷以制夷”吧。
但是在Window平台上,使用一些常见的集成开发环境,效果也不是很理想,比如难以将所有的文件加进去,查找速度缓慢,对于非Windows平台的函数不能彩色显示。
于是笔者通过在互联网上搜索,终于找
到了一个强大的源代码编辑器,它的卓越性能使得学习Linux内核源代码的难度大大降低,这便是Source Insight3.0,它是一个Windows平台下的共享软件,可以从/上边下载30天试用版本。
也可以在
/index.php?option=com_remository&Itemid=67&func=fileinfo
&parent=folder&filecatid=3由于Source Insight是一个Windows平台的应用软件,所以首先要通过相应手段把Linux系统上的程序源代码弄到Windows平台下,这一点可以通过在linux平台上将/usr/src目录下的文件拷贝到Windows平台的分区上,或者从网上光盘直接拷贝文件到Windows平台的分区来实现。
下面主要讲解如何使用Source Insight,考虑到阅读源程序的爱好者都有相当的软件使用水平,本文
对于一些琐碎、人所共知的细节略过不提,仅介绍一些主要内容,以便大家能够很快熟练使用本软件,减少摸索的过程。
安装Source Insight并启动程序,可以进入图1界面。
在工具条上有几个值得注意的地方,如图所示,图中内凹左边的是工程按钮,用于显示工程窗口的情况;右边的那个按钮按下去将会显示一个窗口,里边提供光标所在的函数体内对其他函数的调用图,通过点击该窗体里那些函数就可以进入该函数所在的地方。
图1 Source Insight界面图
由于Source Insight实质上是一个支持多种开发语言(java,c ,c++等等)的编辑器,只不过由于其查找、定位、彩色显示等功能的强大,而被我们当成源代码阅读工具使用。
所以,为了有效的阅读源程序,首先必须选择功能菜单上的“Project”选项的子菜单“New Project”新建一个项目,项目名称可以自由选定,当然也可以选择删除(Remove)一个项目。
当删除一个项目的时候,并不删除原有的源代码文件,只是将该软件生成的那些工程辅助文件删除。
设定之后,将会弹出一个对话框如图2,接受默认选择,如果,硬盘空间足够,可以将第一个复选框选上,该选项将会需要与源代码大致同等的空间来建立一个本地数据库以加快查找的速度。
图2 工程设置
点击“OK”按钮,接受选择后,将会有一个新的对话框弹出,在这个对话框里,可以选择将要阅读的文件加入工程,一种方式是通过在File Name中输入要阅读源代码文件的名称,点击“Add”按钮将其加入,也可以通过其中“Add All”和“Add Tree”两个按钮可以将选中目录的所有文件加入到工程中,其中“Add All”选项会提示加入顶层文件和递归加入所有文件两种方式,而“Add Tree”相当于“Add All”选项的递归加入所有文件,可以根据需要使用,就我来说,更喜欢“Add Tree”一些。
由于该程序采用了部分打开文件的方式,没有用到的文件不会打开,所以,加入数千个文件也不用担心加入的文件超出程序的所能容忍的最大值,我就是采用“Add Tree”的方式将Linux2.4内核的四千五百九十一个文件加入的。
图3 添加文件
加入文件后,点击一个文件,可以出现使用界面,如图4所示,其中,右边的那个窗口(Linux Project,即工程窗口)缺省按照字母顺序列出当前工程中所有的文件。
图4 工作窗口
点击一个文件就可以打开该文件,显示如图5所示,进入到右边的那个窗口分别可以以文件列表的方式,列出所有的文件,每个窗体下边有一排按钮,左边的窗口(21142.c)从左至右分别为:按字母顺序排列所有标记、按照文件中行数顺序排列标记、按照类型排列标记、浏览本地文件标记、标记窗口属性。
右边的窗口(Linux Project)从左至右分别为:按字母顺序文件列表、显示文件夹、按照文件类型归类文件、全部文件的所有标记列表、按照标记类型归类标记、跳转到定义处、显示标记信息、浏览工程标记、查找函数调用、工程属性,其中全部文件的所有标记列表选项可能要一段时间抽取标记,同步到数据库去,如果开始选择了建立标记数据库,将会在今后节省同步时间,最有用的莫过于浏览标记信息和查找函数调用,前者可以通过“Jump”按钮在不同的地方查找同样的标志,还可以通过“Reference”按钮结合后者进行全局的标记查找。
Reference功能是Source Insight的特色之一,它可以在速度极快的在整个工程中找到所有的标记,并且在该行程序的前边加上红色箭头的小按钮链接上。
图6是一个Reference搜索后的结果,它可以有两种模式,一种集中显示结果,图6显示的就是这种模式,在这种模式下,可以通过前边的红色箭头小按钮进入另外一种模式,该标记的具体的所在处,也可以通过标记的具体所在处点击红色箭头小按钮进入警种模式,还可以通过工具条上的两个红色小箭头直接在第二种模式下前后移动,察看相应信息。
它的这个强大的功能使得阅读Linux源程序有如神助。
但是要注意的是,当进行了第二次“Reference”时,它会提示你将结果集附加在第一个结果集的后边还是取代第一个结果集。
如果选择前者,不能对结果集根据前后两次搜索结果进行分类,然后在其子类里进行移动,只能在整个结果集里移动;如果,选择后者,结果集将会被替换为第二次搜索的结果,略微有些不方便。
图6 Reference的搜索结果
当然,Source Insight 还提供了一些其他常见的便利。
比如:右键菜单几乎包含了程序的所有功能,可以在编辑窗口为程序加上行号,还可以统计整个工程的程序行数,当然还有功能强大却用不上自动完成功能,似乎连它的30天试用期也是别有用心——可以迫使你尽可能快速的阅读源程序,其他一些技巧大家可以在使用过程中慢慢摸索。
怎么样?爱好读源代码的朋友,不妨马上去下载一个,去开始我们的Linux内核探险之旅吧。