c – 预处理器#if语句的工具/解析器?

前端之家收集整理的这篇文章主要介绍了c – 预处理器#if语句的工具/解析器?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在处理许多C源代码文件,其中包含许多预处理器#if,#elseif和#else语句.

此语句通常会检查#define,例如

#if(Switch_TestMode == Switch_TestModeON)
/* code 1 */
#else
/*code 2 */
#endif

这些预处理程序语句通常位于c-if语句中,这使得源代码几乎不可读.

用于此预处理程序#if语句的#defines在额外文件中定义.

我现在的想法是有一个工具来检查这个#defined开关设置,然后只复制使用当前#define / switch设置应用的源代码行.

对于上面的示例,我想获得一个仅包含的新.c文件

/*code 2 */

假设Switch_TestMode的#define不等于Switch_TestModeON.

是否有工具(免费软件||低成本)可以完成这项工作?
或者我是否必须为此编写自己的预处理器解析器?

(我不可能使用执行此工作的特殊参数来运行编译器,因为我们公司正在创建另一家公司正在编译的C源代码.)

谢谢你的提示

问候

托马斯

解决方法

unifdef从 http://dotat.at/prog/unifdef/开始供应.

猜你在找的C&C++相关文章