【问题标题】:Output to a text file the pre-compiler code将预编译器代码输出到文本文件
【发布时间】:2011-01-09 10:37:17
【问题描述】:

gcc 4.4.2 c89

我有一个名为 main.c 的文件。

我想要预编译器的结果并将其保存到文本文件中。

我已完成以下创建文本文件的操作,但其中没有任何内容。它是零字节。

gcc -E main.c | > main.txt

非常感谢您的任何建议,

【问题讨论】:

  • 预处理代码的(有点)标准扩展是.i
  • 注意:这是预处理的源代码。预编译(头文件)是二进制形式,结果不仅是预处理器,还包括正在执行的一些编译器步骤。

标签: c shell redirect


【解决方案1】:

除了明显的错误:

gcc -E main.c > main.txt

...你也可以直接使用C预处理器:

cpp main.c > output.c

...它的额外好处是独立于编译器并且可以在另一个工具链中使用。

在这两种情况下,如果出现问题,请查看预处理器command line options

【讨论】:

    【解决方案2】:

    您不需要使用管道运算符将输出重定向到文本文件。只需使用

    gcc -E main.c > main.txt
    

    【讨论】:

    • 在这篇帖子stackoverflow.com/questions/2133009/… 中找到了答案。但是,我确实尝试过,但它对我不起作用。我收到一些错误,说它找不到一些头文件。但是,这是正确的方法。谢谢。
    【解决方案3】:

    去掉|,或者使用gcc -E main.c -o main.txt

    【讨论】:

      【解决方案4】:

      您可能想查看“cpp”程序,它是 gcc 使用的 C 预处理器。

      cpp in.c > out.c
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-08-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-06-24
        • 2020-10-05
        相关资源
        最近更新 更多