【问题标题】:hooking a source-file preprocessor before gcc在 gcc 之前挂钩源文件预处理器
【发布时间】:2012-04-02 23:26:15
【问题描述】:

我想在 gcc 实际进行自己的预处理和解析之前预处理文件。 其实这是我的问题:

我在 c++ .h 文件中添加了非标准扩展名,gcc 无法理解,因此我必须将此非标准扩展名预处理为标准 c++,然后将我的输出推送到 gcc。

然后我需要做的是为文件插入一个预处理器,它必须在满足文件条件时调用(当满足此非标准扩展时)。

如何添加这样的功能?通过代码或命令行参数传递给 gcc?

【问题讨论】:

    标签: c++ gcc compiler-construction


    【解决方案1】:

    不要试图通过 g++ 来做这件事。只需设置您的 makefile,以便它知道您的前置条件并在调用 g++ 之前向您的预处理器发送 shell。

    【讨论】:

    • 因为可以告诉 make 调用哪个程序,它看起来是最好的选择。谢谢
    【解决方案2】:

    您可以将文本通过管道传输到 GCC,请参阅 Is it possible to get gcc to read from a pipe?。 这可能是满足您需求的解决方案,具体取决于您是否已经拥有可以进行预处理并在标准输出上生成输出的工具。

    或者按照 Nicklas 的建议,编写一个 makefile 规则,将具有非标准扩展名的文件转换为 .cpp 文件。

    【讨论】:

      猜你喜欢
      • 2014-12-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-13
      • 2011-04-24
      • 1970-01-01
      相关资源
      最近更新 更多