加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

通过perl脚本过滤C?

发布时间:2020-12-16 06:10:03 所属栏目:大数据 来源:网络整理
导读:我有一个perl脚本我想在 gcc正常处理之前过滤我的cpp / h文件 – 基本上作为一个额外的预处理步骤.是否有捷径可寻?我意识到我可以将cpp文件提供给脚本并让gcc读取stdin的输出,但这对头文件没有帮助. 解决方法 处理此类过程的经典方法是将源代码(输入到Perl
我有一个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编译器.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读