单片机编译错误记录之(*** ERROR L104: MULTIPLE PUBLIC DEFINITIONS.)

如果在编程中出现(*** ERROR L104: MULTIPLE PUBLIC DEFINITIONS.)这类错误,应该有俩种情况(本人遇到过俩种)一起看看吧。

1.错误示例如下

2.错误解释

该报错是指,多个公共定义,意思是,一个变量或者函数重复定义了

3.解决方法

情况一:关于extern的使用

下面有一个具体例子:

这种情况就会报*** ERROR L104: MULTIPLE PUBLIC DEFINITIONS.这个错误,原因是extern使用不当,当我们使用extern外部变量声明的时候,只需要对该变量进行定义就好了,不能对该变量进行初始化,通俗来说就是不能够修改它的初值,毕竟它不属于你这个文件。

情况二:函数名和变量名“重复”

我们继续看一个例子(也是我刚刚编程遇到的):

当时就很奇怪,也是找半天没发现哪重复定义了,后来仔细一想,我定义了一个变量时main_display,还有一个函数Main_Display(),这个报错显示的是SYMBOL:MAIN_DISPLAY,会不会是无法区分大小写,后来查了一下,发现是真的无法区分大小写,当时没改变量名只是想为了好区分函数里面的变量。后来改了个变量名字就解决了。如下图所示:

  • 14
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值