1. 程式人生 > >linux中__weak關鍵字的作用

linux中__weak關鍵字的作用

在linux的驅動程式碼中經常可以看到__weak去修飾一個函式或者變數,大多是用來修飾函式。

它的作用有兩個:

1.weak 顧名思義是“弱”的意思,所以如果函式名稱前面加上__weak 修飾符,我們一般稱這個函式為“弱函式”。加上了__weak 修飾符的函式,使用者可以在使用者檔案中重新定義一個同名函式,最終編譯器編譯的時候,會選擇使用者定義的函式,如果使用者沒有重新定義這個函式,
那麼編譯器就會執行__weak 宣告的函式,並且編譯器不會報錯。
 

2.__weak 在回撥函式的時候經常用到。這樣的好處是,系統預設定義了一個空的回撥函式,保證編譯器不會報錯。同時,如果使用者自己要定義使用者回撥函式,那麼只需要重新定義即可,不需要考慮函式重複定義的問題,
使用非常方便