相機SDK中一般有這樣的回調:當幀採集完畢,自動調用回調函數。
回調函數用於通知機制:當某一事件發生時,如果使用者註冊過了回調函數,則會自動執行回調函數中的內容。
網上很多回調函數的內容都是簡單的使用下,沒有太多關於通知機制的內容,於是找了一個案例
//sdk.h typedef void(*REC_CALLBACK)(long, char *, char *, char *);//調用函數格式 REC_CALLBACK rec_callback;//創建實例 //.cpp int register_callback(REC_CALLBACK P)//註冊回調函數 { rec_callback = P; rec_callback_state = true; return 0; } void init_record() { while (true) { .......... if (rec_callback_state == true) { rec_callback(card, time, card_io, state);//調用回調函數 } else { } } }
使用者模塊
print(long, char *, char *, char *)//回調函數 { printf("xxxxx"long, char......); } int main() { register_callback(print);//使用前先註冊 std::thread t1(init_record); t1.join(); }
參考C++的註冊和回調-菜鳥筆記 (coonote.com)
【其他關於回調函數的優質博客】
【精選】c++回調函數詳解及實現(lambda)_c++ 回調函數_特立獨行的貓a的博客-CSDN博客