爱收集资源网

查看嵌入式笔记声明的有趣bug

网络整理 2023-09-26 06:05

点击上方「嵌入式大杂烩」,选择「置顶公众号」第一时间查看嵌入式笔记!

工作小插曲:

前两天在工作中遇见一个关于隐士申明的有趣的bug:一位搞算法的朋友把之前的代码移植到新的工程上,编译有一些警告他没有管,后来这份工程调试完以后功能也能实现了。

因为工程是我帮他搭建的,看他这份工程有一堆警告,为了严谨,我就帮他把这种警告给改掉了。经过一顿操作总算改成了:

c在线编译软件_c++手机在线编译器_c语言在线编译器手机

好家伙,这时候功能却不正常了???有警告的程序反倒正常??没警告的反倒不正常了??最后发觉一个有趣的问题,屏蔽掉某个函数的申明,这下功能反倒正常??加上这个函数的申明,功能就不正常了?这是隐式声明在作祟c语言在线编译器手机,关于哪些是隐式声明,可以看一下第二篇文章。

经验证,有没有申明,那个函数都是被调用了的,那是一个参数初始化的一个函数,没有加申明的时侯,参数被初始化为一个无规律的、很大的一个值。在后来使用来估算的时侯数据会溢出正好得到正确的数据。。。这种巧合你敢相信。加申明以后的代码在更改算法的情况下也能得到正确的值了。

什么是隐式声明可以查看第二篇推文。

在剖析这个问题的时侯查找了一些资料,偶然间发觉了一份看起来很棒的手把手教你写C语言编译器的资料c语言在线编译器手机,下面分享给你们一起学习:

温馨提示

由于微信公众号近日改变了推送规则,如果您想常常听到我们的文章,可以在每次阅读后,在页面下方点一个「赞」或「在看」,这样每次推送的文章才能第一时间出现在您的订阅列表里。

c语言在线编译器手机
上一篇:追踪TA的位置,实时分享寻人链接 下一篇:没有了