C语言bug总结

C语言bug总结

可能以前也碰到过相应的问题,但是一直不是很重视,今天大概总结一下。

随机bug

玩51单片机的时候,有一次函数太多了,hex比单片机内存还大,内存溢出了,导致某些全局变量被随机修改,然后还可能自动死循环。

传参/数据随机bug

很多时候由于没有加头文件导致的,或者头文件里头没有相应的声明。如果前面没有声明的情况下调用某些函数,如果没有传参可能问题不大,要是传参的话,可能就会出现参数错误。

强制转换数据值bug

强制转换数据比如u16转u8,很多时候会在截断的地方出bug,可以尝试改成判断形式,也就是使用u8=(u16>255)?255 :(u8) u16;。

全局变量bug

可能是编译的时候文件夹下有同名文件,论写头文件时使用相对路径的重要性,或者你把同名文件给删了也可以。之前碰到过一次全局函数指针乱飞的问题,写在某些文件下他就飞到另一个函数去,无论断点调试还是什么都显示他的值没变,之后发现了同名文件,删了就好了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值