我想要一个C预处理器,它从源代码中过滤掉一些#define语句,而不改变任何其他内容.
为什么?如果源被分发给另一个客户端,这应该用于从源中删除一些客户端特定的代码.
有谁知道现有的解决方案?
谢谢!西蒙
您可以使用awk而不是CPP吗?在代码中添加一些标记,围绕要删除的代码段.例如:
(...)
//BEGIN_REMOVE_THIS_CODE
printf("secret code");
//END_REMOVE_THIS_CODE
(...)
Run Code Online (Sandbox Code Playgroud)
然后写一个awk脚本来删除这段代码,比如...
BEGIN { write=1;}
/^\/\/BEGIN_REMOVE_THIS_CODE/ { write=0; next;}
/^\/\/END_REMOVE_THIS_CODE/ { write=1; next;}
{
if(write==1) print $0;
}
Run Code Online (Sandbox Code Playgroud)