原因:因为在“led.h”中定义了许多变量,“led.c”文件中采用#include “led.h”,调用“led.h”中的变量;在主函数"main.c"中也采用#include “led.h”,调用“led.h”中的变量,导致“led.h”中的变量被重复定义。

解决方法:首先,不应该在“led.h”中定义“led.c”中使用的变量,应该直接在“led.c”中定义所需的变量,例如 i16 rr;。然后再主程序"main.c"中将所调用“led.c”中的变量定义为 extern,例如 extern i16 rr;,问题得到解决。

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐