__weak

__weak是一个宏,和__packed是同一种东西都是gcc的扩展属性:
#define __packed __attribute__((packed))
#define __weak __attribute__((weak))
假设这个keyword用在函数定义上面,普通情况下和一般函数没有两样。可是当有一个同名函数可是不带__weak被定义时,全部对这个函数的调用都是指向后者(不带__weak那个), 假设有两个一样的函数都用了__weak,那么真正调用那个,就要看连接器了。

原文地址:https://www.cnblogs.com/mengfanrong/p/4195807.html