没有合适的资源?快使用搜索试试~ 我知道了~
Source Insight使用进阶篇——宏语言使用
5星 · 超过95%的资源 需积分: 48 58 下载量 26 浏览量
2009-06-17
13:08:55
上传
评论
收藏 89KB DOC 举报
温馨提示
试读
5页
Source Insight是阅读和编写代码的好东东,基本上也算得上是经典之作了,虽然还有一点点小bug,不过对于我们这些C程序员来说可是一旦拥有别无所求。但是大家可能很少用到Source Insight的宏语言(Source Insight macro language)。Source Insight中的宏语言类同于MS Office中的VBA,也具有程序化执行用户预定义操作的通用宏语言功能。VBA功能的强大就不用多作说明了,而Source Insight的宏语言也不逊色。以下就以项目中一次实际应用为例进行说明。
资源推荐
资源详情
资源评论
Source Insight 使用进阶篇——宏语言使用
Source Insight 是阅读和编写代码的好东东,基本上也算得上是经典之作了,虽然还
有一点点小 bug,不过对于我们这些 C 程序员来说可是一旦拥有别无所求。但是大家可能
很 少 用 到 Source Insight 的 宏 语 言 (Source Insight macro language) 。 Source
Insight 中的宏语言类同于 MS Oce 中的 VBA,也具有程序化执行用户预定义操作的通
用宏语言功能。VBA 功能的强大就不用多作说明了,而 Source Insight 的宏语言也不逊
色。以下就以项目中一次实际应用为例进行说明。
Source Insight 宏语言语法和 C 语言类似,包括:顺序、分支和循环的程序结构。同
时宏语言可以实现字符操作、文件操作、控制 Source Insight 文件窗口、访问 symbol 列
表和 symbol 类型、查找替换等访问控制操作。
在一个移植类项目中,遇到了一个代码整体移植的需求。其中,有一项主要工作为代
码复制及主要 symbol 替换。即给绝大部分全局函数和全局变量追加前缀以便与移植前区
别,例如:函数”extern void func();”替换为”extern void pre$x_func();”,函数和变
量的声明、定义和使用都需进行替换。项目需求示意图如图 1:
图 1 项目需求示意图
这项工作人工进行需要找出需替换的 symbol,再做替换操作。由于代码量较大(约
几十万行代码总量,其中有 5000 多个 symbol 需要替换),人工替换非常繁琐,又易出
错。一时又找不到合适的工具,这时我们想到了 Source Insight 的宏语言。通过 Source
Insight 的宏语言,访问 Source Insight 的 symbol 列表,可以区分函数,全局变量,局
UCHAR i_var1;
UCHAR i_var2;
UCHAR i_var3;
UCHAR func1()
{
i_var1 = xx;
i_var2 = yy;
......
}
UCHAR func2()
{
func1();
......
}
复制
并
替换为
UCHAR pre$x_i_var1;
UCHAR pre$x_i_var2;
UCHAR pre$x_i_var3;
UCHAR pre$x_func1()
{
pre$x_i_var1 = xx;
pre$x_i_var2 = yy;
......
}
UCHAR pre$x_func2()
{
pre$x_func1();
......
}
原有代码 需要新生成的代码
资源评论
- taikang102012-11-05比看SI自带的帮助文档好多了哈..
- HWQQ0012013-06-04很有帮助的哦,不错
- hoyping2013-01-18好用,很有帮助。
- cz23dsafadf2322015-06-30非常不错的资料,增加对SI的设置
- cug0620422014-11-02谢谢分享,以前还真没注意到这么多宏的高级用法
binnacler
- 粉丝: 88
- 资源: 64
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功