关于ESP-IDF的__weak弱定义

ESP-IDF用了一段时间了,但是对其中一些定义的用法还是了解的不够深入。记录一下在项目中遇到的一些问题。

在编写蓝牙驱动时,我需要在蓝牙的读写事件处写回调函数完成作业,为避免与其他驱动耦合,且作业方便适配业务流程易于更改,决定在本驱动内使用弱函数。

根据以往经验,__weak写在函数前面,如在RT-thread中这样使用(stm32芯片):

但在ESP-IDF中,无论大小写均会报错:

我尝试搜索官方文件中是怎样使用的,只找到寥寥几个函数:

有点奇怪,尝试了一下,依旧报错

搞不出来放了一段时间,写其他驱动去了。今天再返回来看,想了想能不能不用弱定义的方法,想不到。。。这__weak是不用不行了。。。

在网上查了查,看到了weak的扩展关键字,__attribute__((weak)),试了一下不报错了!

又返回官方文件看了看,发现了别人有一行define。。。还是自己太粗心啦

why?

网上看到了一个博主的文章:

(12条消息) __weak 和 __attribute__((weak)) 关键字的使用___attribute__(weak)_子曰小玖的博客-CSDN博客(别人讲的很详细!)

原来是酱紫的嗷!!!

至此,这个小小小问题算是解决了,浅浅记录!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值