我在项目中有很多“笨”#define
,我想删除它们。不幸的是,我不能做一个简单的搜索和替换,因为#define
被参数化。例如:有没有办法'扩展'#define指令?
#define FHEADGRP(x) bool _process_grp##x(grp_id_t , unsigned char)
这是用来生成几个函数的标题。我想以某种方式执行与预处理器相同的操作 - 根据其结果替换宏的每个调用(插入正确的参数)。我希望你明白我想做什么。
我发现使用Visual Studio ,可以使用/ P选项获得预处理的中间文件,但不幸的是,这并不能帮助我,因为文件被数千行其他行“污染”,并且所有的#define都被扩展了,我不想这样做,我只是想扩展一些宏,最好是在我的IDE(这是Visual Studio)中做到这一点。有没有办法如何实现这一点?
谢谢!我真的没有足够的探索这个功能。谢谢,这比写我自己的Perl脚本要好得多! – PeterK 2010-06-21 12:15:02