通过perl脚本过滤C++?

Syd*_*ius 3 c++ perl gcc preprocessor

我有一个perl脚本我想在gcc正常处理之前过滤我的cpp/h文件 - 基本上作为一个额外的预处理步骤.是否有捷径可寻?我意识到我可以将cpp文件提供给脚本并让gcc读取stdin的输出,但这对头文件没有帮助.

Jon*_*ler 7

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

例如:

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

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