区别gcc中的-w -W和-Wall选项

区别gcc中的-w -W和-Wall选项

man

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

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

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

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

举例:

例如:

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

1、直接编译

gcc -o test_w_wall testwwall.c

在这里插入图片描述
只显示这一个警告。

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

gcc -w -o test_w_wall testwwall.c

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

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

gcc -Wall -o test_w_wall testwwall.c

在这里插入图片描述

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

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

gcc -W -o test_w_wall testwwall.c

在这里插入图片描述
只显示了没有返回值的main函数不应该有return一个值这个警告。

5、

gcc -Wall -W -o test_w_wall testwwall.c

在这里插入图片描述
和使用-Wall一样。

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值