我正在处理许多包含许多预处理器的 C 源代码文件#if
, #elseif
and #else
声明。
该语句经常检查#define
, e.g.
#if(Switch_TestMode == Switch_TestModeON)
/* code 1 */
#else
/*code 2 */
#endif
通常,该预处理器语句位于 c-if 语句内,这使得源代码几乎无法被人类读取。
The #define
s 用于此预处理器#if
语句在额外文件中定义。
我现在的想法是有一个工具来检查这个#define
d switch 设置,然后仅复制使用当前 #defines/switch 设置应用的源代码行。
对于上面的示例,我想获得一个新的 .c 文件,其中仅包含
/*code 2 */
假设#define
of Switch_TestMode
不等于Switch_TestModeON
.
是否有可用的工具(免费软件||低成本)可以完成这项工作?
或者我是否必须为此编写自己的预处理器解析器?
(我不可能使用完成这项工作的特殊参数来运行编译器,因为我们公司正在创建 C 源代码,另一家公司正在编译。)
感谢您的任何提示!
Regards
Thomas
unifdef 可以从http://dotat.at/prog/unifdef/ http://dotat.at/prog/unifdef/.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)