【转】gcc中的-w -W和-Wall选项

摘要:
-W选项类似于-Wall,它显示警告,但只显示编译器认为会导致错误的警告。例如:#include voidmain(){inta=1.0*4;return0;}直接编译gcc otest _ w_ Walltestwwall。c仅显示一个警告。使用-W选项gcc-W-otest_W_walltestwwall。C只显示没有返回值的主函数不应有返回值的警告。gcc-W-Walltest_ W_ walltestwwall。C不使用变量的警告大于单独使用-W的警告,而看起来像重复的主函数的返回值不是int的警告小于单独使用-Wall的警告。我以前读过一位外国程序员写的博客,说编译器不使用-W-Wall选项是愚蠢的,所以我最好在编译时带上它。

-w的意思是关闭编译时的警告,也就是编译后不显示任何warning,因为有时在编译之后编译器会显示一些例如数据转换之类的警告,这些警告是我们平时可以忽略的。

-Wall选项意思是编译后显示所有警告。

-W选项类似-Wall,会显示警告,但是只显示编译器认为会出现错误的警告。

在编译一些项目的时候可以-W和-Wall选项一起使用。

举个例子:

#include <stdio.h>  
  
void main()  
{  
        int a=1.0*4;  
        return 0;  
}  

直接编译

gcc -o test_w_wall testwwall.c

【转】gcc中的-w -W和-Wall选项第1张

只显示一个警告。

使用-w选项

gcc -w -o test_w_wall testwwall.c

不会显示任何警告,直接编译成功。

使用-Wall选项

gcc -Wall -o test_w_wall testwwall.c

【转】gcc中的-w -W和-Wall选项第2张

显示了所有的警告,比之前不使用任何选项多出了变量a未使用这个警告,也多出了main函数的返回值不是int型。

使用-W选项

gcc -W -o test_w_wall testwwall.c

【转】gcc中的-w -W和-Wall选项第3张

只显示了没有返回值的main函数不应该有return一个值这个警告。

gcc -W -Wall test_w_wall testwwall.c

【转】gcc中的-w -W和-Wall选项第4张

比单独使用-W多出了变量未使用这个警告,比单独使用-Wall选项少了一个看起来重复的main函数返回值不是int这个警告。

之前看了一篇国外程序员写的博客,说编译时不使用-W -Wall选项的是stupid的,所以编译时还是尽量带上吧。

转自:http://blog.csdn.net/m7548352/article/details/49520069

免责声明:文章转载自《【转】gcc中的-w -W和-Wall选项》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇github下载缓慢的问题SweetAlert弹窗使用下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Windows下用Eclipse配合CDT+MinGW编译环境的建立

Eclipse是一款用Java编写的优秀的开源'壳'软件,其自身不带编译器连接器,使用时需要自己进行编译器连接器的配置工作,可以说灵活性非常大,通过添加插件可以支持多种语言。本来大家使用Eclipse是用来写Java程序的,但是通过合理的配置,完全可以使用开源的gcc编译器来进行C,C++的编写工作。这样一来可以在Eclipse编写控制台程序、编写GTK或...

gcc编译

gcc命令使用GNU推出的基于C/C++的编译器,是开放源代码领域应用最广泛的编译器,具有功能强大,编译代码支持性能优化等特点。现在很多程序员都应用GCC,怎样才能更好的应用GCC。目前,GCC可以用来编译C/C++、FORTRAN、JAVA、OBJC、ADA等语言的程序,可根据需要选择安装支持的语言。 语法 gcc(选项)(参数) 选项 -o:指定生成...

Linux下安装gcc 、g++ 、gfortran编译器

原文链接:http://blog.sina.com.cn/s/blog_6dd65c6f0100y793.html 一、ubuntu下gcc/g++/gfortran的安装1.安装(1).gcc  ubuntu下自带gcc编译器。可以通过“gcc -v”命令来查看是否安装。(2).g++  安装g++编译器,可以通过命令“sudo apt-get inst...

Linux环境依赖库离线安装

离线源码安装包下载地址:http://www.rpmfind.net/linux/rpm2html/search.php?query=net-tools&submit=Search+...&system=&arch= gcc --version;  #检查gcc是否安装g++ --version;  #检查g++是否安装 未安装,...

(原)ubuntnu中anaconda的g++提示crtbeginS.o:unrecognized relocation

转载请注明出处: http://www.cnblogs.com/darkknightzh/p/6950263.html 自从使用anaconda后,方便是方便了,也遇到了很多蛋疼的问题。 这次使用anaconda自带的g++编译cpp成so库,供python调用(以前使用ubuntu自带的g++时,正常)。这次输入下面编译命令(说明:使用的代码在另一台电脑...

GCC高级测试功能扩展——程序性能测试工具gprof、程序覆盖测试工具gcov

gprof是GNU组织下的一个比较有用的性能测试功能:   主要功能:   找出应用程序中消耗CPU时间最多的函数;         产生程序运行时的函数调用关系、调用次数   基本原理:   首先用户要使用gprof工具,必须在GCC编译该文件的选项中添加-pg选项,然后GCC会在用户应用程序的每一个函数中加入一个名为mcount(或者是_mcount、...