首页 > 其他分享 >回调函数用于通知机制

回调函数用于通知机制

时间:2023-11-21 17:55:05浏览次数:35  
标签:函数 通知 博客 char callback rec 回调

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

标签:函数,通知,博客,char,callback,rec,回调
From: https://www.cnblogs.com/xixixing/p/17847205.html

相关文章

  • 自实现模态对话框-DoModal函数
    参考CDialog::DoModal函数的实现方式,自己实现了模态框相关功能。ModalBase.h头文件1#include<afxwin.h>23#defineID_NULL04#defineID_OK15#defineID_CANCEL26#defineID_ABORT3......
  • 09-基础SQL-DQL(数据查询语言)-聚合函数(count、max、min、avg、sum)
    DQL-介绍(常用)DQL英文全称是DataQueryLanguage(数据查询语言),数据查询语言用来查询数据库中表的记录查询关键字:SELECTDQL-语法......
  • Class成员函数的声明方式
    1#include<iostream>usingnamespacestd;classComplex{ doublereal,imag; public: Complex(doubler=0,doublei=0):real(r),imag(i){}; operatordouble()const;//强制类型转换};Complex::operatordouble()const{returnreal;}intmai......
  • Python 中函数 range
    range函数简要说明接收参数为1/2/3,表示的是左闭右开接收参数当使用Python中的range()函数时,可以总结如下使用方法:range(stop):生成从0到stop-1的整数序列。产生的序列包含起始值0,但不包含stop。foriinrange(5):print(i)输出:01234range(start,stop):生成......
  • 无涯教程-Ruby Profiler −函数
    在大多数情况下,您可以通过消除瓶颈来提高慢速程序的性能。探查器是找到瓶颈的工具。为了向您的Ruby程序添加配置文件,您需要首先使用命令行options-rprofile加载Profile库。使用语法$ruby-rprofile[programfile][arguments]Example这是从hello.rb文件生成的输......
  • file函数读写文件(txt)操作
    文件操作open()方法用于打开一个文件,并返回文件对象,在对文件进行处理过程都需要使用到这个函数格式:open(file_name[,accesss_mode][,buffering])1、file_name:文件路径,必传参数2、accesss_mode:打开文件的模式(只读(r),写入(w),追加(a)等,默认为只读(r))。非必传3、buffering:为0表示不会......
  • 关于字符串输入输出的若干函数
    在C语言中,通过<stdio.h>可以使用一些非常有帮助的函数来从标准输入流(或文件流,本篇不涉及)中读入字符串,或者向标准输出流(或文件流)中写入字符串。这篇笔记整理的是这些相关函数的异同以及适用场景。标准输入流的使用使用场景区别一:是否限定读入字符数量为了分析它们......
  • 无涯教程-Interactive Ruby (irb) −函数
    交互式Ruby或irb是Ruby附带的交互式编程环境。它是由石冢启十先生撰写的。使用语法要调用它,请在shell或命令提示符下键入irb,然后开始输入Ruby语句和表达式。使用退出或退出退出irb。$irb[.rb][options][programfile][arguments]这是options的完整列表-Sr.No.Comma......
  • 无涯教程-RubyGems −函数
    RubyGems是Ruby的软件包实用程序,它可以安装Ruby软件包并使它们保持最新。使用语法$gemcommand[arguments...][options...]Example检查是否安装了RubyGems-$gem--version0.9.0RubyGems命令这是RubyGems所有重要命令的列表-Sr.No.Command&Description1build......
  • 多线程创建函数
    1、CreateThread()函数  CreateThread是一种微软在WindowsAPI中提供了建立新的线程的函数,该函数在主线程的基础上创建一个新线程。     线程终止运行后,线程对象仍然在系统中,必须通过CloseHandle函数来关闭该线程对象。1HANDLECreateThread(2LPSECURITY_ATT......