[综合信息] HAL库中__weak修饰符是什么?

[复制链接]
1582|18
 楼主| laocuo1142 发表于 2023-5-29 20:13 | 显示全部楼层 |阅读模式
单片机系统时钟是什么?

HAL库中__weak修饰符是什么?
华芯微特FAE 发表于 2023-5-30 17:37 | 显示全部楼层
这个是弱定义昂
ayb_ice 发表于 2023-6-2 16:55 | 显示全部楼层
你若写个一样的函数(函数名,参数完全一致),这种情况就使用你的函数,如果不写就使用__weak定义的函数,有点自己的函数取代库中的函数一样的意思
华芯微特FAE 发表于 2023-6-2 17:04 | 显示全部楼层
ayb_ice 发表于 2023-6-2 16:55
你若写个一样的函数(函数名,参数完全一致),这种情况就使用你的函数,如果不写就使用__weak定义的函数,有点自 ...

这样理解没毛病
caigang13 发表于 2023-6-3 16:20 来自手机 | 显示全部楼层
代表若定义函数,用户可以重写该函数。
sdlls 发表于 2023-6-8 07:23 | 显示全部楼层
__weak是一个修饰符,用于定义弱符号。
sesefadou 发表于 2023-6-8 13:18 | 显示全部楼层
**某个全局变量或函数在多个源文件中同时存在,并且不受到链接器的干扰,可以将其定义为弱符号。
kmzuaz 发表于 2023-6-8 13:48 | 显示全部楼层
加上了__weak 修饰符的函数,用户可以在用户文件中重新定义一个同名函数
olivem55arlowe 发表于 2023-6-8 14:13 | 显示全部楼层
在C语言中,当多个源文件中存在同名的全局变量或函数时,链接器会优先选择具有较高优先级和强符号类型的定义,而忽略掉其他同名符号。
juliestephen 发表于 2023-6-8 14:21 | 显示全部楼层
__weak修饰符必须与extern一起使用,用于指定具体的符号类型以及在哪些源文件中定义该符号。
gygp 发表于 2023-6-8 14:37 | 显示全部楼层
__weak修饰符定义的符号优先级最低,如果存在其他同名的符号,则会被覆盖掉。
macpherson 发表于 2023-6-8 14:45 | 显示全部楼层
__weak只能修饰全局变量、函数以及类方法,不能用于局部变量或实例方法。
juliestephen 发表于 2023-6-8 15:47 | 显示全部楼层
如果存在多个同名的弱符号,则链接器会将它们都保留下来,而不会进行任何优先级或类型上的判断。
xiaoyaodz 发表于 2023-6-8 15:52 | 显示全部楼层
__weak修饰符是一种很有用的机制,可以帮助开发者避免在多个源文件中定义同名符号时出现链接错误的情况。
sdlls 发表于 2023-6-8 16:05 | 显示全部楼层
__block 和__ weak 的区别
chenjun89 发表于 2023-6-9 06:07 来自手机 | 显示全部楼层
若定义项,用户可以直接在自带的weak函数中编写执行代码也可以重定义该函数。
麻花油条 发表于 2023-6-11 11:05 来自手机 | 显示全部楼层
弱定义符号了
chenqianqian 发表于 2023-6-11 15:29 来自手机 | 显示全部楼层
代表若定义函数,用户可以重写该函数。
理想阳 发表于 2023-8-10 09:30 | 显示全部楼层
__weak修饰符界说的标记优先级最低,若是存在其他同名的标记,则会被笼盖失落。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1296

主题

6239

帖子

15

粉丝
快速回复 在线客服 返回列表 返回顶部