回调函数用于通知机制
相机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博客