【问题标题】:How to redirect the output of gcc compiler to a file?如何将 gcc 编译器的输出重定向到文件?
【发布时间】:2009-09-29 05:46:52
【问题描述】:

重定向运算符不起作用。那么我们应该怎么做呢? 还有一个问题,在makefile中,我们如何从命令行给出参数,比如

run: a.out
    ./a.out **<input>**

【问题讨论】:

  • 请不要将无关的问题放在一个问题中。

标签: gcc


【解决方案1】:

gcc 将其错误消息打印到stderr,因此您必须重定向stderr

gcc -o foo foo.c 2> foo.gccmessages

你在命令行上总是以同样的方式给出参数

./a.out argument1 argument2 argument3

【讨论】:

  • 在makefile中,我想指定输入将从命令行给出。我不是在问如何在命令行输入?该怎么做?
  • 您可以通过提出单独的问题并获得答案来做到这一点。
  • 好的,我知道了,如果我们想将输出附加到现有文件中,我们应该怎么做?
【解决方案2】:

尝试: $ 制作 2>&1 | tee your_build_log.txt 这将重定向标准输出,2>&1 将标准错误重定向到与标准输出相同的位置,同时允许您同时在终端中查看输出。

见:How do I capture all of my compiler's output to a file?

【讨论】:

    【解决方案3】:

    关于 stdout、stderr 的 I/O 重定向的详细文档在本文档中给出(1)。外围设备如 stdin(例如:键盘)、stdout(例如:计算机显示器)和 stderr(来自gcc 编译的输出)被视为文件。

    【讨论】:

      猜你喜欢
      • 2020-08-21
      • 1970-01-01
      • 2011-08-23
      • 2019-01-05
      • 1970-01-01
      • 1970-01-01
      • 2012-06-26
      • 2012-01-11
      • 1970-01-01
      相关资源
      最近更新 更多