http://www.newty.de/ ======================= 動態指派函數去執行(這也是後來event hanlder都需要用此) You can use them to replace switch/if-statements, to realize your own late-binding or to implement callbacks. The calling convention tells the compiler things like how to pass the arguments or how to generate the name of a function. Some examples for other calling conventions are __stdcall, __pascal and __fastcall. The calling convention belongs to a function's signature: Thus functions and function pointers with different calling convention are incompatible with each other! For Borland and Microsoft compilers you specify a specific calling convention between the return type and the function's or function pointer's name. ======================= 結論就是 Callback 是pointer to function一種實作(透過pointer to function,可以達到late binding), 但是這個實在windows有用到event 發出時給系統處理,因此callback function位置與變數需要被全域化 (也可以理解成被OS觸發執行,而非程式設計者),這樣系統才不會被整個callback function要處理的內容給hold住。 Windows的event透過pointer to funtion實作的好處 在message queue中,只要透過message 對應到的function名稱,就可以執行。 而callback這個keywork,在windows程式設計中,如果用了這個keyword,系統會給函數一個全域的id(這是交給系統處理的), 這樣可以方便系統管理(這也意味者,如果有其他介面要跟call back function溝通,就需要有好的架構設計)。
------ 5月 17 週三 200609:33
pointer to function -> callback function
文章標籤
全站熱搜
