什麼是callback function ?
In computer programming, a callback is executable code that is passed as an argument to other code. It allows a lower-level software layer to call a subroutine (or function) defined in a higher-level layer.
所謂callback function就是等著被呼叫的function 通常會使用在interrupt handler(中斷處理), 或一些event handler(事件處理)
這些callback function一般會在你的主程式向系統註冊它們的address
當某些硬體或軟體中斷髮生時, 或某些事件發生時
系統就會去呼叫這些callback function
所以, callback function並不是直接讓你的程式呼叫的~ 如果沒有使用callback function的機制, 而需要在某些事件發生時去做一些事 就變成要有一個迴圈一直去監視事件是否發生, 這就會很耗損CPU時間
在Windows的AP或driver很常見到Callback function的使用比如說, timer也是一個callback function~ 而gtk中 event loop 的概念也需要 callback function 來實現 !
參考資料
事件驅動程式設計
http://tinyurl.com/28mdag
wiki : Callback (computer science)
GTK 裡面 運用signal 的方式
回覆刪除也是需要callback function
實際上是 signal被觸發到 執行callback function ~ signal 會提供一些 現在的資訊傳給callback function ...
囧
怪不得之前怎麼看都看不懂