在用keil4写实验的时候,遇到了如标题所示的警告,warning:implicit declaration of function "XXXX" is invalid in C99(XXXX代替函数名),具体情况如下图:
图中两行警告相同,我在网上找了些资料,大部分说的比较“官方”,或者言辞比较专业,我这种菜鸡理解的稍微有点难度,有的文章说的呢,又太过草率,不够清楚,所以我决定把问题解决后,写我的第一篇CSDN博客,来把我遇到的这个小问题和对应的解决办法和大家分享一下。(下面步入正题)
首先,是我实验过程中报错的两行代码的说明,图中的15行和16行是我自己写的函数,两个函数的定义是在一个独立的C文件pwm.c文件中,而图中报错的位置则是位于main.c的中的主函数。
报警告的情况出现在我调用这两个函数的时候,出现问题后,我第一反应就是网上找解决办法,但没有很满意的结果,看了数篇文章后,才找到一个思路:头文件上出了问题。于是我开始思考,是包含头文件时出的错,还是说头文件本身出的问题。首先我确定了头文件包含是没有问题的,该行语句没有警告和错误,同时头文件位置也是正确的,情况如下图:
于是我便把目光放到了头文件本身,检查了一遍头文件,发现自己犯了一个非常低级的错误,在写头文件的时候少写了一个字母,情况如下:
在把漏掉的字母补上以后,警告消除,问题解决。(说起来这么低级的错误写出来,还是很丢人的,自己还是要多学习,多写代码呀QAQ)。
最后是一点总结,当遇到警告:warning:implicit declaration of function "XXXX" is invalid in C99,尤其是像我这样的新手遇到的时候,一定要多检查检查头文件,注意头文件的格式,注意拼写有没有出错。关于C语言头文件的格式写法的文章有一大把,我就不赘述了。
第一次发博客,希望各位大佬多给意见(这么小的问题,写这么多总觉得自己好磨叽,希望各位不要介意)。最后呢,希望我的分享能帮到看到这篇文章的同学,同时呢也希望大家遇到问题的时候多多思考,所有的文章都是别人的思考结果,你只能是借鉴,自己思考所得的,才是自己的!