是否有#ifdef剥离C / C ++实用程序

时间:2013-04-09 05:04:48

标签: c++ c c-preprocessor conditional-compilation

是否有可以删除说#ifdef PRO_VERSION ... #endif代码的实用程序?

请不要告诉我有关Visual Studio编译器标志或XCode视图后处理源的信息。我无法像控制台应用程序那样方便地自动化。

我在这里要做的是找到现有的实用程序(如果存在)。如果不是......我想我必须重新发明轮子。

1 个答案:

答案 0 :(得分:6)

unifdef可能就是你要找的东西。

来自its manual

  

unifdef实用程序对#if,#ifdef,#ifnf,#elif,#else和        #endif行。只有在指定的符号上才会处理指令        命令行足以让unifdef获得一个确定的值        因为它的控制表达。如果结果为false,则指令和        其控制下的以下行将被删除。如果结果是        是的,只删除了指令。 #ifdef或#ifndef指令是        如果未指定其控制符号,则传递不变        命令行。任何#if或#elif控件表达式都有        未知值或unifdef无法解析的传递未更改。