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

  • man
  • 举例:

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

区别gcc中的-w -W和-Wall选项相关推荐

  1. GCC中 -I、-L、-l 选项的作用

    在makefile中经常会看到这些选项,gcc默认会在程序当前目录.path路径中查找所需要的材料 如何给gcc添加我们自己的原材料(头文件,库等) -I (注意是大写的i) 给gcc添加自定义的头文 ...

  2. gcc中的-w -W和-Wall选项

    今天在看一个makefile时看到了gcc -W -Wall....这句,不明其理,专门查看了gcc的使用手册. -w的意思是关闭编译时的警告,也就是编译后不显示任何warning,因为有时在编译之后 ...

  3. gcc的-g,-o,-c,-D,-w,-W,-Wall,-O3等参数的意义

    一.-g -g可执行程序包含调试信息 -g为了调试用的 加个-g 是为了gdb 用,不然gdb用不到 二.-o -o指定输出文件名 -o output_filename,确定输出文件的名称为outpu ...

  4. python 文件读写with open模式r,r+ w,w+ a,a+区别详解

    python 文件读写with open模式r,r+ w,w+ a,a+区别详解 python中的 with open主要要来进行文件读写的操作 在 Python 中使用文件的关键函数是 open() ...

  5. JavaScript中 var reEmail=/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/; //邮箱检测

    正则表达式 \w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)* \w任意大小写英文字母 0-9数字 下划线  +为至少出现1个以上字符 [-+.]\w+   任意包 ...

  6. gcc编译命令的常用选项——强烈推荐大家使用 -Wall 选项

    C程序编编译的过程分为如下四个阶段 1.预处理:头文件展开(#include).宏替换(#define).条件编译(#ifdef)(.i)使用预处理器(预处理阶段处理的都是以#开头的代码) 2.编译: ...

  7. GCC中常用的优化的参数

    -pipe 的作用: 使用管道代替编译中临时文件, -pipe 加速编译 gcc -pipe foo.c -o foo 加速 在将源代码变成可执行文件的过程中,需要经过许多中间步骤,包含预处理.编译. ...

  8. gcc中的内嵌汇编语言(Intel i386平台)

    gcc中的内嵌汇编语言(Inteli386平台) 一.声明 虽然Linux的核心代码大部分是用C语言编写的,但是不可避免的其中还是有一部分是用汇编语言写成的.有些汇编语言代码是直接写在汇编源程序中的, ...

  9. linux smp lock 锁总线 内嵌汇编,gcc中的内嵌汇编语言(Inteli386平台)

    gcc中的内嵌汇编语言(Intel i386平台) 一.声明 虽然Linux的核心代码大部分是用C语言编写的,但是不可避免的其中 还是有一部分是用汇编语言写成的.有些汇编语言代码是直接写在汇 编源程序 ...

最新文章

  1. 配置动态路由协议OSPF
  2. 中国医疗AI第一股首位投资人:AI不再高深,正在回归商业本质
  3. 面试关于ISO七层模型你应该知道的东西
  4. Redisson框架快速入门
  5. 个人成长:2021年9月记
  6. java编写猫抓老鼠程序_Java抓鱼程序
  7. c oracle日志分析,oracle 日志分析
  8. 一个简单的MPI+C语言编程实例
  9. KINDEDITOR取值并写入数据库的操作
  10. 4. Nginx 与 PHP
  11. 移动端app开发,原生开发与混合开发的区别
  12. Google 2019开发者大会速读
  13. 装机、资料库结构与文件备份方案
  14. 微信公众平台、微信公众平台.小程序、微信.开放平台
  15. 使用wxpy实现在微信定时发送文件和消息
  16. String fname=%e6%8e%88%e6%9d%832; url转码成中文
  17. 关于虾皮无货源一件代发你了解多少?详讲虾皮物流发货流程
  18. choco无法将choco识别_choco入门
  19. java贪心,java实现贪心算法
  20. 机房环境监控的现状与发展趋势!

热门文章

  1. linux fcitx 安装,fcitx完全安装
  2. 区块链将怎样影响游戏行业
  3. Docker容器编排
  4. 记忆大师(记忆练习/学习记忆/增强记忆)
  5. Rich Text Processing富文本处理
  6. [原创]怎样优化陶瓷天线性能
  7. Laravel composer包-webUpload制作过程
  8. div与表格应用实例——计算器布局
  9. 关于html2canvas生成海报模糊
  10. a标签的download属性(荐)