我想在gcc实际进行自己的预处理和解析之前预处理文件。 实际上这是我的问题:
我在c ++ .h文件中添加了非标准扩展,gcc不会理解,所以我必须将这些非标准扩展预处理为标准c ++,然后将我的输出推送到gcc。
我需要做的是插入文件的预处理器,当满足文件条件时(必须满足此非标准扩展)时必须调用该文件。
我如何添加这样的功能?通过gcc的代码或命令行参数?
答案 0 :(得分:3)
不要试图通过g ++来做到这一点。只需设置你的makefile,以便它甚至在调用g ++之前就知道你的前置条件和shell,然后再调用g ++。
答案 1 :(得分:0)
您可以将文本传输到GCC,请参阅Is it possible to get gcc to read from a pipe?。 这可能是满足您需求的解决方案,具体取决于您是否已经有一个工具可以进行预处理并在stdout上生成输出。
或者,正如Nicklas建议的那样,编写一个makefile规则,将带有非标准扩展名的文件转换为.cpp文件。