回调函数用于通知机制

发布时间 2023-11-21 17:52:19作者: 夕西行

相机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博客

简单聊聊C++中回调函数的实现_C 语言_脚本之家 (jb51.net)

【精选】C++学习之回调函数_c++ 回调函数_HAH-M的博客-CSDN博客