假设您有一个包含大量文件的C项目,并使用GCC中的-D
选项管理大量配置来定义一些标记。
在我的特定情况下,我有大量文件包含这种东西:
void foo( sometype *x)
{
do_stuff_with_x(x);
#ifdef MY_FLAG
do_additional_stuff(x);
#endif
#ifdef OTHER_FLAG
do_some_other_stuff(x);
#endif
}
现在,每当我更改其中一个标志时,我需要清除项目并重新编译所有源代码,因为我无法有选择地触摸使用此标志的文件。
是否可以使用 Windows 下的 Eclipse 来实现这一目标? 也许是一个Eclipse插件,或者其他什么。
对于linux,我可能会混合使用grep
,find
和touch
,但在Windows上我不知道。
答案 0 :(得分:1)
好的,在人的压力下,我安装了MSYS并使用了这样一个命令:
$ find . -name "*.c" -or -name "*.h" | xargs grep "MYFLAG" -q -l | xargs touch
您实际上可以向find
添加一些其他过滤器,以更精细地调整您触摸的文件。
我不知道xargs
,在我的命令行上有任何想法吗?
答案 1 :(得分:0)
如果您已经使用grep,查找和触摸为Unix编写了解决方案,为什么不在Windows上执行相同操作?您可以使用msys及其附带的unix工具。
我目前在机器上没有Eclipse安装,但我确信你可以从Eclipse启动批处理
答案 2 :(得分:0)
为什么不在Windows上使用grep,find和touch的混合?