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)