linux中__weak关键字

[转载] linux中__weak关键字的作用解析
https://www.2cto.com/kf/201810/784218.html

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

它的作用有两个:

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

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

上一篇:C++:32---智能指针类weak_ptr


下一篇:Delphi编译器属性(特别修饰符Ref,Unsafe,Volatile,Weak)