Closed. This question is off-topic。它当前不接受答案。
                            
                        
                    
                
                            
                                
                
                        
                            
                        
                    
                        
                            想改善这个问题吗? Update the question,所以它是on-topic,用于堆栈溢出。
                        
                        2年前关闭。
                                                                                            
                
        
在大学里,我们被教导使用以下方面来编译我们的项目:

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


但是,我似乎无法在网上找到有关'Werror'的解释?

最佳答案

它会将所有警告报告为错误,因此编译将停止而不会继续。否则,只有警告会显示在控制台上,并带有-Wall,但是编译不会停止。如果您想阅读有关内容,请前往gnu page

-Werror

    Make all warnings into errors.


这是一个示例代码:

#include <stdio.h>

int main()
{
    int i;
    printf("%s\n", "Good");
    return 0;
}


当您通过-Werror

$ 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


如果没有-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

关于c - -Werror在Ubuntu终端中起什么作用? ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50807998/

10-08 23:47