如何将 gcc 警告消息放入文本文件中?

kor*_*ire 3 linux gcc echo gdb tee

我想知道是否有人知道如何将 GCC 的编译警告放在文本文件中?

例如 :

我(心甘情愿地)写了一个未定义的函数foo()。所以 gcc 告诉我:

warning: implicit declaration of function 'foo [Wimplicit-function-declaration]
Run Code Online (Sandbox Code Playgroud)

我怎样才能把这一行写在一个文本文件中?我在 gcc 的手册页中搜索一个选项:

https://linux.die.net/man/1/gcc

但没有找到任何相关信息。我尝试的命令echo,并tee要做到这一点,但这些命令只赶上编译行(如:... gcc -o test test.o main.o ...

Edu*_*ani 5

您可以重定向输出,假设您的程序是:

main()
{
}
Run Code Online (Sandbox Code Playgroud)

编译时,gcc 会说:

a.c:1:1: warning: return type defaults to ‘int’ [-Wimplicit-int]
 main()
 ^~~~
Run Code Online (Sandbox Code Playgroud)

这显示在终端中。您想要做的是将其重定向到一个文件。在这种情况下,您需要重定向标准错误输出(在终端中您会看到:标准输出和标准错误输出):

$ cc a.c 2> output.txt
Run Code Online (Sandbox Code Playgroud)

2>表示将错误输出(在本例中为警告)发送到此文件。

一个简单的方法>是重定向标准输出。