如何将gcc编译器的输出重定向到文件?

21

重定向操作符不起作用。那我们应该怎么办呢? 还有一个问题,在makefile中,我们如何从命令行传递参数,例如

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

2
请不要把无关的问题放在一个问题里。 - Martin v. Löwis
3个回答

29

gcc 会把错误信息输出到 stderr,因此您需要重定向 stderr

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

您总是以相同的方式在命令行上提供参数。

./a.out argument1 argument2 argument3

在 makefile 中,我想指定输入将从命令行给出。我不是在问如何在命令行上给出输入?怎么做? - avd
2
你可以通过提出一个单独的问题并获得答案来实现这一点。 - P Shved
好的,我明白了。如果我们想将输出附加到现有文件中,那么我们应该怎么做? - avd

6

0
本文档(1)提供了有关标准输出(stdout)和标准错误(stderr)的I/O重定向的详细说明。像标准输入(stdin)(例如:键盘)、标准输出(stdout)(例如:计算机显示器)和标准错误(stderr)(来自gcc编译输出的错误消息)这样的外围设备被视为文件。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接