回調函數用於通知機制

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章