source Insight可以自动匹配出条件编译endif与ifdef的对应关系吗

2019-12-24 18:37发布

比如源代码如下:
#ifdef  _aaa_

  #ifdef  _BBB_

  #endif   //第一行endif


#endif      //第二行endif


在移植别人的程序,他的代码里面条件编译特别多,在一个函数体里面条件编译都不少于二十个,而还是嵌套的,他在endif 那行又没标这个是对应哪个ifdef的。

所以如果source insight里面如果能自动标识出来就好了。省得人肉去标定。

比如说,像我上面举的例子,第一行的endif对应的是  _BBB_   这个条件,第二endif对应的是 _aaa_这个条件。source insight 有这个样的功能k吗?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
18条回答
zack_cf
1楼-- · 2019-12-26 04:15
security 发表于 2017-9-4 10:56
这个归根到底还是手动。
宏多起来,操作就有点很费力。

使用方法1选择Scan Files...可以扫描工程中的所有宏定义并自动添加到列表中
higeo
2楼-- · 2019-12-26 08:58
 精彩回答 2  元偷偷看……
security
3楼-- · 2019-12-26 10:00
本帖最后由 security 于 2017-9-4 11:37 编辑
zack_cf 发表于 2017-9-4 11:15
使用方法1选择Scan Files...可以扫描工程中的所有宏定义并自动添加到列表中


扫描是一个问题,
另一个关键的问题是我们需要手动去设置宏的值。
这样 SI 才能重新 parse,根据宏的值去做 UI 视觉呈现的区分。

编辑添加
扫描貌似能扫出宏定义的值出来,这样是可以减少工作量,那这样也许还算不错吧。
其实我更想要,智能的识别出来,不需要我们显式的再操作什么。
security
4楼-- · 2019-12-26 10:44
higeo 发表于 2017-9-4 11:18
4版本的默认就有这功能

有吗?
我没改什么配置,貌似没看到条件编译有那个小尾巴提示啊。
li.wen
5楼-- · 2019-12-26 13:07
security 发表于 2017-9-4 11:28
扫描是一个问题,
另一个关键的问题是我们需要手动去设置宏的值。
这样 SI 才能重新 parse,根据宏的值去 ...

对,这个SI3.5似乎是做不到的,其实我们希望的是不起作用的代码块自动灰度掉;
目前SI3.5只支持#if 0; endif
higeo
6楼-- · 2019-12-26 17:38
security 发表于 2017-9-4 11:40
有吗?
我没改什么配置,貌似没看到条件编译有那个小尾巴提示啊。

我的错,确实没有,函数结尾有,想当然了

一周热门 更多>