解决“warning: #223-D: function “xPortSysTickHandler“ declared implicitly“告警提示

继上篇文章发布已有时隔两个月之久,今天就把这两个月遇到的一些问题解决分享一下,首先,我们来看今天分享的这个关于我在学习freertos遇到的一个告警。如图所示:

在这里插入图片描述

告警提示原句为:

warning:  #223-D: function "xPortSysTickHandler" declared implicitly

这个告警是提示我,我调用的这个“xPortSysTickHandler”函数没有进行函数声明,一般出现这种情况就是没有调用该函数声明的头文件,或者是没有对其进行外部声明。而我这次就是没有因为在使用前没有对齐外部使用声明,所以编译器进行编译时候提示我这个函数是隐式声明

因为这个函数是freertos的port.c下定义的一个函数,没有对齐进行声明,所以我们在这里使用前需要使用关键字"extern"对齐进行外部声明。如下图所示,当时忘记加了下面这句:

extern void xPortSysTickHandler(void);

在我们调用的函数前面加上这个函数声明后,我们再次编译可以发现编译通过了,如图所示:
在这里插入图片描述

如果大家也遇到了跟我问题一样的提示,可以参考我的上述解决方法;如果是提示其他的什么"xxx" declared implicitly,可以通过上述提到的三种方法去解决。

1、将使用的函数的头文件包含进去。

2、对其使用关键字"extern"声明

*3、还有一种就是如果只在一个文件中调用函数,就将这个函数定义移到最前面也可以解决。

好了,今天的问题解决就分享到这里了。后期我们继续分享在嵌入式学习路上遇到的一些其他问题解决~

本人水平有限,上述信息仅供学习参考,如有错误和不妥之处,请多多指教。
另外创作不易,请勿抄袭,如果有帮助到大家的话希望大家可以点个赞和收藏,谢谢~

你可能感兴趣的:(开发之路的BUG和经验分享,单片机,单片机,经验分享,程序人生,嵌入式,freertos)