常见warning的处理方法

本文总结了处理代码中常见警告的方法,并强调了将警告视为错误来提高代码质量的重要性。主要内容包括:赋值类型不符的解决、实参形参不一致的解决、隐式调用函数及引入函数原型、条件判断中的赋值问题,以及它们的组合应用。通过这些方法,旨在帮助开发者编写更加规范、高效的代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

     最近,处理一个中间件中所有的warning,经过编译发现警告信息多如牛毛,而且这个中间件还是一个国内绝对一流的公司做的,要是一直这样下去,不知道中国的软件什么时候才能够达标啊!!!

 

     下面对出现的警告简单的总结一下:

     1、赋值类型不符,这也是最常见的;

      解决办法可以强制类型转换

 

      2、实参形参类型不一致;

       解决办法可以强制类型转换。

 

      3、隐式调用函数,连接了库,但没有连接相应的头文件;

       解决办法可以用extern引入函数原型。

 

       4、条件判断中的赋值,这个比较隐晦,一般不容易找出,下面举例说明一下;

        int pre_flag = 0, cur_flag = 1;

        if (pre_flag = cur_flag) 

                  ...

        上面if语句看似没有什么问题,但在gcc编译的时候会报警告(warning: suggest parentheses around assignment used as truth value),

这是由于gcc编译器为了提醒程序员在条件判断中,要注意“==”和“=”的区别,即编译器会以为你错将“==”写成“=”了,于是提醒一下。

因为在c语言中,条件判断只有两个值:非真(0)和真(!0),所以上面if语句我们应该修改为if ((pre_flag = cur_flag)),总之在条件判断时,一定要谨慎。

 

       5、上面几种的组合;

 

        好像还处理了其他类型的warning,但一时记不起来了,有时间再补上,也希望大家把自己遇到的warning也贴上,大家共同学习,

最后,希望大家一起努力将代码写得更规范,将warning当成error处理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值