Keil警告:warning: #223-D: function “xxx“ declared implicitly解决

原因:这种情况下很可能是头文件的预定义声明重复了。比如写了两个LED文件,一个是LED1.c,另一个是LED2.c。他们俩都是从LED.c移植过来的,然后头文件忘了修改,里面的预定义都是

#ifndef __LED_H_
#define __LED_H_

	........

#endif

这时候如果在在main.c中包含头文件时,先包含了LED1.h,后包含了LED2.h,在头文件预定义防止重复包含的作用下,就会导致LED2.h中的函数和变量声明失效,从而导致上面的警告。同理,如果先包含了LED2h,后包含了LED1.h,就会导致LED1.h的有关函数出现警告。我正是在main.c中切换头文件的包含顺序时发现的这一问题。

版权声明:本文为CSDN博主「Cc1924」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_42731705/article/details/115270040

原因:这种情况下很可能是头文件的预定义声明重复了。比如写了两个LED文件,一个是LED1.c,另一个是LED2.c。他们俩都是从LED.c移植过来的,然后头文件忘了修改,里面的预定义都是

#ifndef __LED_H_
#define __LED_H_

	........

#endif

这时候如果在在main.c中包含头文件时,先包含了LED1.h,后包含了LED2.h,在头文件预定义防止重复包含的作用下,就会导致LED2.h中的函数和变量声明失效,从而导致上面的警告。同理,如果先包含了LED2h,后包含了LED1.h,就会导致LED1.h的有关函数出现警告。我正是在main.c中切换头文件的包含顺序时发现的这一问题。

版权声明:本文为CSDN博主「Cc1924」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_42731705/article/details/115270040

生成海报
点赞 0

Cc1924

我还没有学会写个人说明!

暂无评论

发表评论

相关推荐

MDK5(keil5)编译按钮不见?

1.大部分是第一种情况 整个组件工具栏都不见了 解决办法: 2.小部分是组件工具栏没有编译按钮 解决办法: 参考: KEIL4 上面那个编译的工具栏怎么不见了 Keil工具栏详细说明

【KEIL-MDK】系列——如何使用PC-Lint代码检查工具

系列文章目录 01.【KEIL-MDK】系列——主题配色 前言 当我们在做一些代码编辑工作时,经常会因为不小心粗心大意而造成一些不容易发现的错误(潜意识认为没问题、编译器编译没报错(一些除了语法等外更其他问题)),

51单片机实现超声波测距

利用51单片机实现超声波测距功能,利用单片机控制超声波的发射和对超声波自发射至接收往返时间的计时。系统定时发射超声波,在启动发射电路的同时启动单片机内部的定时器,利用定时器的计数功能记录超声波发射的时间