通过perl脚本过滤C?

前端之家收集整理的这篇文章主要介绍了通过perl脚本过滤C?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个perl脚本我想在 gcc正常处理之前过滤我的cpp / h文件 – 基本上作为一个额外的预处理步骤.是否有捷径可寻?我意识到我可以将cpp文件提供给脚本并让gcc读取stdin的输出,但这对头文件没有帮助.

解决方法

处理此类过程的经典方法是将源代码(输入到Perl过滤器)视为一种新语言,并带有新的文件后缀.然后告诉make,从这个新文件类型编译C源文件方法是使用Perl脚本.

例如:

>新后缀:.ccp
>新规则(假设.cc后缀):

.ccp.cc:
        ${FILTERSCRIPT} $<

>将新后缀添加到后缀列表中 – 优先于正常的C规则.

最后一点是最棘手的.如果您只是将.ccp后缀添加到列表中,那么当.cc文件存在时,make将不会真正关注.ccp文件中的更改.您要么必须删除中间.cc文件,要么确保.ccp出现在后缀列表中的.cc之前. (注意:如果您编写’.ccp.o’规则而没有’.ccp.cc’规则并且不确保清除’.cc’中间件,那么在编译失败后重建可能意味着make只编译’.cc’文件,这可能令人沮丧和困惑.)

如果不能更改后缀,则编写执行过滤的编译脚本并直接调用C编译器.

猜你在找的Perl相关文章