C Werror在Ubuntu终端中做什么?

C Werror在Ubuntu终端中做什么?,c,gcc,compilation,C,Gcc,Compilation,在大学里,我们被教导使用以下方法编写项目: gcc -Wall -Werror -ansi -o myfile.out myfile.c -lm 然而,我似乎无法在网上找到关于“Werror”的解释。它将所有警告都报告为错误,因此编译停止而不继续。否则,控制台上只会显示带有-Wall的警告,但编译不会停止。如果你想了解这方面的情况,请前往 下面是一个示例代码: #include <stdio.h> int main() { int i; printf("%s\n"

在大学里,我们被教导使用以下方法编写项目:

gcc -Wall -Werror -ansi -o myfile.out myfile.c -lm

然而,我似乎无法在网上找到关于“
Werror
”的解释。

它将所有警告都报告为错误,因此编译停止而不继续。否则,控制台上只会显示带有
-Wall
的警告,但编译不会停止。如果你想了解这方面的情况,请前往

下面是一个示例代码:

#include <stdio.h>

int main()
{
    int i;
    printf("%s\n", "Good");
    return 0;
}
如果没有
-Werror
,它将编译并运行

$ gcc -Wall  -ansi abc.c
abc.c: In function ‘main’:
abc.c:5:9: warning: unused variable ‘i’ [-Wunused-variable]
     int i;
         ^

$ ./a.out 
Good

您是否尝试
man gcc
查看其选项的功能?这不是你发现命令选项对任何命令意味着什么的方式吗?你问题的标题表明了对命令选项如何工作的严重误解。任何选项都没有一般意义,它们是由特定的命令定义的。不,我没有,因为我不知道它的存在。你认为我有一个严重的误会是正确的,但谢天谢地,你是来纠正我的@巴尔马
$ gcc -Wall -Werror -ansi abc.c
abc.c: In function ‘main’:
abc.c:5:9: error: unused variable ‘i’ [-Werror=unused-variable]
     int i;
         ^
cc1: all warnings being treated as errors
$ gcc -Wall  -ansi abc.c
abc.c: In function ‘main’:
abc.c:5:9: warning: unused variable ‘i’ [-Wunused-variable]
     int i;
         ^

$ ./a.out 
Good