设置SourceInsight的condition解决代码语法解析错误的问题
来源:互联网 发布:华多网络 退款 编辑:程序博客网 时间:2024/06/03 19:34
设置SourceInsight的condition解决代码语法解析错误的问题
作者:刘旭晖 Raymond转载请注明出处
Email:colorant@163.com
BLOG:http://blog.csdn.net/colorant/
今天使用SourceInsight的时候遇到一个很郁闷的问题,明明存在的函数,source insight就是找不到,仔细看了一下,发现原因如下: 类似下面的代码,在函数f1中,有一个#ifdef 的条件宏,在条件宏的两个分支中,都使用了大括号作为一段代码区间的起始括号:
static void f1 ()
{
Some code ;
#ifdef MACRO1
if( some judge ){
#else
if( other judge ){
#endif
Somecode;
} // source insight 将这个括号与第二个if匹配上了
Some more code;
} // source insight 将这个括号与第一个if匹配上了
Static void f2()
{
…
}
Static void f3()
{
…
}
结果,Sourceinsight在解析的时候,在语法匹配时,将宏的两个分支里的大括号都统计上了,于是在反括号的匹配过程中,无形中,就使得反括号少了一个,结果导致到了函数f1的结尾处的反括号,source insight还是认为函数没有结束,于是使得下面的 f2 和f3 被认为属于f1的一部分,于是在看代码的时候,source insight 就不认为存在f2 f3这两个函数了。
这个,真的有些郁闷,不知道会有多少种类似的情况导致代码不能被正确解析。影响甚至误导了程序的阅读理解。
仔细看了source insight的用户手册,发现有个办法可以亡羊补牢事后解决这个问题。
在Options > Preferences: Language 里面可以设置condition, 所谓condition基本上就是设置标识符及其值。例如上面的例子,可以添加一个名为MACRO1的标识符,并设置其值为1。这样,source insight在代码解析的过程中,就会按照condition来解析或忽略对应的代码。、
于是设置过这个condition以后,source insight就能正确匹配上述代码中的大括号了,问题解决。不知道有没有更灵活的解决办法。
由于被忽略的代码会以灰色显示,所以可以顺便把代码中你能确定的宏的值添加上,方便阅读代码,直观的判断有效代码。
- 设置SourceInsight的condition解决代码语法解析错误的问题
- 解决SourceInsight的半个汉字的问题
- 解决语法解析类问题的利器
- SourceInsight的实用设置
- switch(condition)的condition类型解析
- 我的sourceinsight字体设置
- 解决 html 代码不解析 的问题
- sourceinsight 打开工程出现“内存不能被written”的错误以如何更改sourceinsight默认工程设置
- 解决SourceInsight两个问题
- 解决sourceinsight稳定性问题
- 解决SourceInsight不能解析标准C函数问题
- SAX解析characters 错误截取问题的解决
- 解决下载后的apk解析错误问题
- sourceinsight设置.cc类型的文件
- sourceinsight文件相对路径的设置方法
- sourceinsight设置文件的相对路径
- 【解决】关于蓝牙模块串口设置总是错误的问题
- 英文界面的Windows系统中解决 Sourceinsight 中的中文注释显示乱码的问题
- sizeof
- 最值得信赖的IT职业培训品牌调查报告
- McGraw.Hill.Cisco.Certified.Network.Associate.Study.Guide.Exam.640-802.Apr.2008.eBook-DDU
- McGraw.Hill.Herb.Schildts.C.plus.plus.Programming.Cookbook.Apr.2008.eBook-BBL
- powerdesigner12将主键id设为自动增加
- 设置SourceInsight的condition解决代码语法解析错误的问题
- 如何用程序实现远程桌面连接(C#)
- HTRI5.0软件
- Commons Betwixt应用
- javaWeb基础
- wxpython in action 第二章划水
- oracle 索引
- 论 "程序员吃青春饭" 有感
- 优化数据库的思想及SQL语句优化的原则