xiaobenyi 发表于 2013-6-20 13:03:59

如何一次性删除被宏屏蔽掉的代码?

本帖最后由 xiaobenyi 于 2013-6-20 13:34 编辑

如题,有大量代码要看,但是只需要其中一小部分
可是原代码风格不是很好,模块之间互相依赖特别严重
有没有快捷的办法可以一次性删除所有被宏屏蔽掉的代码
比如:
#if 0#endif 包含的段

比如 #ifdef xxx 但是xxx未定义的段

我是想把

#if 0
...
...
#endif

整段删除,不再出现在文件里面,以免影响程序阅读

xwkm 发表于 2013-6-20 13:14:44

把if 0改成if 非零,批量替换(grep命令)

xiaobenyi 发表于 2013-6-20 13:18:10

xwkm 发表于 2013-6-20 13:14 static/image/common/back.gif
把if 0改成if 非零,批量替换(grep命令)

我是想把

#if 0
...
...
#endif

整段删除,不再出现在文件里面,以免影响程序阅读

wowbanui 发表于 2013-6-20 13:23:04

未验证的办法:
Ultraedit 正则表达式 查找, 删除,
有多个可以录制个宏

xiaobenyi 发表于 2013-6-20 13:29:03

wowbanui 发表于 2013-6-20 13:23 static/image/common/back.gif
未验证的办法:
Ultraedit 正则表达式 查找, 删除,
有多个可以录制个宏

如果出现嵌套,一改就乱套了
#if 0
...
#ifdef xxx
...
#endif
...
#endif

遇到这个,咋办?

xiaobenyi 发表于 2013-6-20 13:30:40

有这个工具的话,还有个好处
如果你必须发布源代码给客户,但是,你只想给他们用到的部分,这样就会很方便

netawater 发表于 2013-6-20 13:31:35

gcc -E 可以展开宏。

aozima 发表于 2013-6-20 13:40:46

使用编辑器的折叠功能,把宏定义折叠起来。
为了看代码而把代码删除掉是不妥的,而且不用git这类保存原件的话,万一删错了就改不回来了,到时看的是一个错误的代码。

delazio 发表于 2013-6-20 14:03:05

VIM可以折叠起来然后dd

xiaobenyi 发表于 2013-6-20 14:15:13

aozima 发表于 2013-6-20 13:40 static/image/common/back.gif
使用编辑器的折叠功能,把宏定义折叠起来。
为了看代码而把代码删除掉是不妥的,而且不用git这类保存原件的 ...

在发布代码给客户的时候,可以完全去掉不想给客户看到的代码
比如你同时支持两个客户的案子,你可能用宏定义区分,但是你显然不想让客户看到

tcm123 发表于 2013-6-20 14:20:34

QT查看会阴影显示

albert_w 发表于 2013-6-20 14:34:50

正则表达式, 嵌套也能搞定的, 慢慢写表达式就是了
页: [1]
查看完整版本: 如何一次性删除被宏屏蔽掉的代码?