某些嵌入式C语言开发使用宏比较多,包括数组的生成。此时如果仅看代码,很难看出程序的逻辑,这时需要对宏进行手动展开
这里就用到了source insight的高级替换功能
(.*)是一个组合,使用这个组合则用\1
如果有宏定义
#define BSM_STATE_SIMPLE_BEGIN(name, parent_state, entry_action, exit_action) \
static const BSM_TRANSITION_T name##_TRANSITION_TABLE[] = {
我们要对这个宏进行手动展开,在Replace页面输入
old:
BSM_STATE_SIMPLE_BEGIN\((.*), (.*), (.*), (.*)\) \\
new:
static const BSM_TRANSITION_T \1_TRANSITION_TABLE[] = {
这样对需要的进行替换,另外针对替换里的设置还需要更改,具体如下:
1. 勾选“Use Regular Expressions"
2. Regular Expression Syntax选择”Perl Compatable“