使用SourceInsight的三大理由,最后一点是关键!
工作后不久,就听组长说鱼鹰的前任同事使用SourceInsight编写代码,而使用KEIL编译。鱼鹰无法理解,为什么KEIL明明可以编辑代码,为什么还要另一个工具软件呢?
直到初步尝试后才发现看代码确实挺方便的,但这点好处说实话很多工具都具备,还不足以让鱼鹰专门为它写一章(前段时间鱼鹰写了一篇《介绍几款好用的工具 | 嵌入式必备》,其中就介绍了它),直到最近,鱼鹰才发现了这个软件的强大之处,所以鱼鹰才忍不住想写一写,分享给各位道友,而最近又有几个也忍不住想写的点:
《还是没忍住,聊聊无锁队列吧》
《KEIL 下如何准确测量代码执行时间?》
记得关注鱼鹰哦!
现在继续说回SI吧,这个网上评价很高,如果要问哪一款软件的代码编辑最强大,这个众说纷纭,但是要问哪款软件看代码最爽,无疑是SI了。
那么凭什么?
现在鱼鹰就说说使用这款软件的三大理由:
一
创建工程简单至极!
我们知道,当我们使用KEIL的时候,如果想看代码,只能用KEIL打开工程,才能找到你想要的代码。同理,IAR亦是如此。
有一天,常用KEIL的你,为了一个功能,从网上下载了一份参考代码,但是不好意思,这个参考代码是使用 IAR 建立的工程。为了看这份代码,查看函数之间的调用关系,变量声明的位置,你不得不安装一个IAR,然后编译(可能还需要PJ才能正常使用),当你折腾完之后,你研究代码的兴趣应该耗完了吧!
那么是否有简单的方法,跳过IAR,直接看源码呢?有的,那就是SI。
这篇笔记不是基础教程,就不教你如何新建一个SI工程了,不然篇幅太长,重点就没了。
总之,使用SI查看代码只需要两步,第一,新建工程,第二,同步,这个同步会将函数调用等信息都检索出来,方便查看代码,就像KEIL的这个功能:
而且同步速度也是很快的。
特别注意的一点就是,每次修改完代码之后如果要查看代码都得同步一下(可能有自动同步功能,但目前鱼鹰没用),否则有些代码信息可能不能及时反映,还有新建工程时不要有中文路径,切记!
对了,KEIL和SI是可以同时打开同一个工程的,如果你有双屏(这个程序员必备吧,哈哈),那感觉很爽!
只是刚开始使用SI时,因为字体大小不一,可能会不太习惯,但是看着看着就习惯了。如果实在不习惯,这个也是可以设置的,具体上网搜就是了。
二
这个优势在鱼鹰的一篇笔记中介绍过了,就是在查看函数定义的时候特别方便。鱼鹰现在用上次的参考代码直接新建一个SI工程看看效果好了。
可看到当你的光标指向一个函数时,有一个窗口自动就会把这个函数的实现展示出来,这样就不需要像KEIL一样按F12才能跳转查看了,特别方便。
还有一个功能,你可以使用高亮功能使某一个函数名或变量名高亮:
当你光标选中一个名词,右击即可出现一个菜单栏,选择Highligth Word选项,这个也有一个快捷键,也可以重新设置快捷键,随你喜好了(这个功能是对整个工程代码而言的)。
这个功能有个替代功能,就是直接选择一个名词后,它会自动把本文件相同的名词进行高亮,就不需要自己手动设置高亮了。
怎么设置呢?选择【File Type Options…】然后再弹出菜单进行选择即可。
三
最重要的一点来了,也是为啥选择SI查看代码最重要的理由。
使用KEIL时,如果我们需要查看一个函数在哪里被调用了,常规做法就是全工程进行搜索,但是有时候刚好你搜索的函数名在工程有很多地方是有同名的,那么你不得不停下来判断你找到的函数是不是你需要的,这样一来,不仅可能出现人为判断错误,还严重影响了工作效率,特别是当你需要在这个函数的前后加入一些代码时,更是让人修改起来头大。
如果有一个代码查看工具,可以把所有的函数、结构体成员、变量调用情况都清晰的展示出来,那该多好!
有的,就是SI。
现在看看如何查看size这个结构体成员变量的调用情况的?
看到没有,右边窗口把所有关于size调用的地方都显示出来了,因为它是实时根据光标内容更新的,所以为了防止查看其它代码的时候被更新了,可以通过锁定开关达到锁定的效果,如果你突然想看别的成员变量,那么重新使用旁边的刷新按钮即可刷新啦,简单方便。
到此重点结束,现在说说关于SI的其他点。
我们看代码时可以看到有些代码颜色各异,但都是彩色的,这是因为SI已经能够识别这些代码,但有些SI识别不了的,可能就黑色了(这种情况下无法查看调用)。
比如鱼鹰增加一个返回指针的函数指针,可以看到这个变量是黑色的,说明SI无法识别这个变量。
但是你用typedef重新声明后再加入到结构体里就能识别了,看,它变色了!
而当函数参数不一样,而函数名一样时,它会很智能的选择正确的那一个函数
这种智能有时也会带来一点麻烦,比如你要修改一个现有函数,本来一个参数的,修改成两个参数,有的时候修改了一半,有些函数改了,有些函数没改,那么当你查看有两个参数的函数的调用情况时,就会发现你全部都修改了,但实际情况是还有一半没有修改过来呢!
所以这个特性需要引起注意。
好了,更多关于SI的使用方法就自己去发现吧,总之用了它你绝不会后悔就是了,鱼鹰也特别希望各位道友能用上这款神器。
版权声明:
作者: FreeClashNode
链接: https://www.freeclashnode.com/news/article-532.htm
来源: www.freeclashnode.com
文章版权归作者所有,未经允许请勿转载。
热门文章
- 10月1日免费节点分享|18M/S,Clash节点/V2ray节点/Singbox节点/SSR节点|免费上网梯子每天更新
- 10月2日免费节点分享|22.8M/S,Singbox节点/Shadowrocket节点/Clash节点/V2ray节点|免费上网梯子每天更新
- 10月3日免费节点分享|20.1M/S,SSR节点/Singbox节点/V2ray节点/Clash节点|免费上网梯子每天更新
- 9月30日免费节点分享|19.1M/S,Clash节点/V2ray节点/SSR节点/Singbox节点|免费上网梯子每天更新
- 10月6日免费节点分享|19.2M/S,V2ray节点/Singbox节点/Shadowrocket节点/Clash节点|免费上网梯子每天更新
- 10月8日免费节点分享|22.5M/S,V2ray节点/Singbox节点/Clash节点/Shadowrocket节点|免费上网梯子每天更新
- 10月11日免费节点分享|18.6M/S,V2ray节点/Clash节点/SSR节点/Singbox节点|免费上网梯子每天更新
- 10月5日免费节点分享|19.9M/S,Singbox节点/Clash节点/V2ray节点/SSR节点|免费上网梯子每天更新
- 10月14日免费节点分享|22.5M/S,Clash节点/V2ray节点/Singbox节点/SSR节点|免费上网梯子每天更新
- 9月29日免费节点分享|22M/S,SSR节点/Singbox节点/V2ray节点/Clash节点|免费上网梯子每天更新
最新文章
- 跨越知识边界:浙大学子的全球学术网络探索指南
- 10月25日免费节点分享|18.1M/S,SSR节点/V2ray节点/Singbox节点/Clash节点|免费上网梯子每天更新
- 10月24日免费节点分享|20.5M/S,V2ray节点/Clash节点/Singbox节点/Shadowrocket节点|免费上网梯子每天更新
- 刘大猫科学上网全攻略:解锁全球网络的终极指南
- 10月23日免费节点分享|22.2M/S,Shadowrocket节点/Clash节点/Singbox节点/V2ray节点|免费上网梯子每天更新
- 全面解析Quantumult安卓版:功能、安装与配置教程
- 双重防护,畅享无界:AdGuard联手V2RayNG,打造极致安全的上网体验
- 10月22日免费节点分享|18.8M/S,V2ray节点/SSR节点/Singbox节点/Clash节点|免费上网梯子每天更新
- 掌握Clash白名单设置:精准控制代理流量的艺术
- 10月21日免费节点分享|22M/S,Clash节点/Singbox节点/V2ray节点/SSR节点|免费上网梯子每天更新
- 突破网络边界:技术科学上网的终极安全指南
- 10月20日免费节点分享|22.9M/S,SSR节点/V2ray节点/Clash节点/Singbox节点|免费上网梯子每天更新
- Shadowrocket 选购指南:从入门到精通,找到你的专属代理神器
- 10月19日免费节点分享|19.3M/S,Singbox节点/V2ray节点/Clash节点/Shadowrocket节点|免费上网梯子每天更新
- 深入解读:V2Ray为何比SSR更安全?一场网络隐私的全方位较量
- 10月18日免费节点分享|20.6M/S,V2ray节点/Clash节点/SSR节点/Singbox节点|免费上网梯子每天更新
- 深度指南:Shadowrocket从入门到精通——iOS用户的网络自由密钥
- 10月17日免费节点分享|18M/S,Clash节点/SSR节点/V2ray节点/Singbox节点|免费上网梯子每天更新
- 深入解析科学上网套:全方位使用指南与常见问题解答
- 10月16日免费节点分享|22M/S,Shadowrocket节点/V2ray节点/Singbox节点/Clash节点|免费上网梯子每天更新
- 10月15日免费节点分享|21.2M/S,Clash节点/SSR节点/V2ray节点/Singbox节点|免费上网梯子每天更新
- 全局掌控:安卓设备上 Clash 全局模式完整设置指南与深度解析
- 解锁全球游戏体验:育碧平台科学上网全攻略与深度解析
- 10月14日免费节点分享|22.5M/S,Clash节点/V2ray节点/Singbox节点/SSR节点|免费上网梯子每天更新
- 华为Mate 10科学上网全攻略:突破限制,畅游全球网络
- 10月13日免费节点分享|22.1M/S,V2ray节点/Clash节点/Singbox节点/Shadowrocket节点|免费上网梯子每天更新
- 10月12日免费节点分享|22.7M/S,Shadowrocket节点/V2ray节点/Singbox节点/Clash节点|免费上网梯子每天更新
- 量子ULT全方位指南:从下载配置到高阶玩法一网打尽
- 10月11日免费节点分享|18.6M/S,V2ray节点/Clash节点/SSR节点/Singbox节点|免费上网梯子每天更新
- 极路由V2ray插件完全指南:打造家庭网络的安全屏障
- 10月10日免费节点分享|18.3M/S,V2ray节点/Singbox节点/Clash节点/SSR节点|免费上网梯子每天更新
- 极速狂飙与正义追击:《警车 Clash》深度解析与高阶攻略
- 10月9日免费节点分享|22.3M/S,Singbox节点/Clash节点/Shadowrocket节点/V2ray节点|免费上网梯子每天更新
- 用hosts文件科学上网:一份从入门到实战的详细指南
- 10月8日免费节点分享|22.5M/S,V2ray节点/Singbox节点/Clash节点/Shadowrocket节点|免费上网梯子每天更新
- iOS设备上SSR科学上网全教程:从入门到精通
- 10月7日免费节点分享|23M/S,Singbox节点/Clash节点/Shadowrocket节点/V2ray节点|免费上网梯子每天更新
- 深度剖析V2Ray订阅机制:从零搭建高效、安全的科学上网环境
- 10月6日免费节点分享|19.2M/S,V2ray节点/Singbox节点/Shadowrocket节点/Clash节点|免费上网梯子每天更新
- 全面解析蚕蛹生态冲突及其多元价值
- 10月5日免费节点分享|19.9M/S,Singbox节点/Clash节点/V2ray节点/SSR节点|免费上网梯子每天更新
- 从零开始:手把手教你刷梅林固件实现安全科学上网
- 10月4日免费节点分享|20M/S,SSR节点/V2ray节点/Clash节点/Singbox节点|免费上网梯子每天更新
- 跨越边界,自由探索:一加科学上网全面指南与深度解析
- 10月3日免费节点分享|20.1M/S,SSR节点/Singbox节点/V2ray节点/Clash节点|免费上网梯子每天更新
- 10月2日免费节点分享|22.8M/S,Singbox节点/Shadowrocket节点/Clash节点/V2ray节点|免费上网梯子每天更新
- 斐讯K2路由器刷机全攻略:解锁科学上网新境界
- 解锁网络自由:B站d手机科学上网全攻略
- 10月1日免费节点分享|18M/S,Clash节点/V2ray节点/Singbox节点/SSR节点|免费上网梯子每天更新
- 洞悉网络脉络:一份关于Vmess节点测试的全景式实践手记
归档
- 2026-10 49
- 2026-09 58
- 2026-08 63
- 2026-07 61
- 2026-06 55
- 2026-05 56
- 2026-04 51
- 2026-03 60
- 2026-02 52
- 2026-01 56
- 2025-12 59
- 2025-11 55
- 2025-10 56
- 2025-09 55
- 2025-08 49
- 2025-07 31
- 2025-06 30
- 2025-05 31
- 2025-04 30
- 2025-03 388
- 2025-02 360
- 2025-01 403
- 2024-12 403
- 2024-11 390
- 2024-10 403
- 2024-09 388
- 2024-08 402
- 2024-07 427
- 2024-06 442
- 2024-05 181
- 2024-04 33
- 2024-03 31
- 2024-02 29
- 2024-01 51
- 2023-12 52
- 2023-11 32
- 2023-10 32
- 2023-09 3