打印
[综合信息]

HAL库中__weak修饰符是什么?

[复制链接]
1043|18
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
laocuo1142|  楼主 | 2023-5-29 20:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
华芯微特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定义的函数,有点自 ...

这样理解没毛病

使用特权

评论回复
5
caigang13| | 2023-6-3 16:20 | 只看该作者
代表若定义函数,用户可以重写该函数。

使用特权

评论回复
6
sdlls| | 2023-6-8 07:23 | 只看该作者
__weak是一个修饰符,用于定义弱符号。

使用特权

评论回复
7
sesefadou| | 2023-6-8 13:18 | 只看该作者
**某个全局变量或函数在多个源文件中同时存在,并且不受到链接器的干扰,可以将其定义为弱符号。

使用特权

评论回复
8
kmzuaz| | 2023-6-8 13:48 | 只看该作者
加上了__weak 修饰符的函数,用户可以在用户文件中重新定义一个同名函数

使用特权

评论回复
9
olivem55arlowe| | 2023-6-8 14:13 | 只看该作者
在C语言中,当多个源文件中存在同名的全局变量或函数时,链接器会优先选择具有较高优先级和强符号类型的定义,而忽略掉其他同名符号。

使用特权

评论回复
10
juliestephen| | 2023-6-8 14:21 | 只看该作者
__weak修饰符必须与extern一起使用,用于指定具体的符号类型以及在哪些源文件中定义该符号。

使用特权

评论回复
11
gygp| | 2023-6-8 14:37 | 只看该作者
__weak修饰符定义的符号优先级最低,如果存在其他同名的符号,则会被覆盖掉。

使用特权

评论回复
12
macpherson| | 2023-6-8 14:45 | 只看该作者
__weak只能修饰全局变量、函数以及类方法,不能用于局部变量或实例方法。

使用特权

评论回复
13
juliestephen| | 2023-6-8 15:47 | 只看该作者
如果存在多个同名的弱符号,则链接器会将它们都保留下来,而不会进行任何优先级或类型上的判断。

使用特权

评论回复
14
xiaoyaodz| | 2023-6-8 15:52 | 只看该作者
__weak修饰符是一种很有用的机制,可以帮助开发者避免在多个源文件中定义同名符号时出现链接错误的情况。

使用特权

评论回复
15
sdlls| | 2023-6-8 16:05 | 只看该作者
__block 和__ weak 的区别

使用特权

评论回复
16
chenjun89| | 2023-6-9 06:07 | 只看该作者
若定义项,用户可以直接在自带的weak函数中编写执行代码也可以重定义该函数。

使用特权

评论回复
17
麻花油条| | 2023-6-11 11:05 | 只看该作者
弱定义符号了

使用特权

评论回复
18
chenqianqian| | 2023-6-11 15:29 | 只看该作者
代表若定义函数,用户可以重写该函数。

使用特权

评论回复
19
理想阳| | 2023-8-10 09:30 | 只看该作者
__weak修饰符界说的标记优先级最低,若是存在其他同名的标记,则会被笼盖失落。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1169

主题

5118

帖子

12

粉丝