linux中__weak关键字的作用

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Deep_l_zh/article/details/83536553

在linux的驱动代码中经常可以看到__weak去修饰一个函数或者变量,大多是用来修饰函数。

它的作用有两个:

1.weak 顾名思义是“弱”的意思,所以如果函数名称前面加上__weak 修饰符,我们一般称这个函数为“弱函数”。加上了__weak 修饰符的函数,用户可以在用户文件中重新定义一个同名函数,最终编译器编译的时候,会选择用户定义的函数,如果用户没有重新定义这个函数,
那么编译器就会执行__weak 声明的函数,并且编译器不会报错。
 

2.__weak 在回调函数的时候经常用到。这样的好处是,系统默认定义了一个空的回调函数,保证编译器不会报错。同时,如果用户自己要定义用户回调函数,那么只需要重新定义即可,不需要考虑函数重复定义的问题,使用非常方便

猜你喜欢

转载自blog.csdn.net/Deep_l_zh/article/details/83536553