参考文章:c语言指针回调函数最全demo实例(简单明了一看就会)

回更

20220303

\demo\base\isapiExternDemo\isapiExternDemo.c

这边海康定义了一个回调函数

     // 2. register callback functions(注册回调函数)if(op_devsdk_ok != opdevsdk_protoexten_set_callback((opdevsdk_protoexten_callback*)g_opdevsdk_protoexten_context, 15)){printf("opdevsdk_protoexten_set_callback failed");return 0;}
op_devsdk_errno_code opdevsdk_protoexten_set_callback(opdevsdk_protoexten_callback *opdevsdk_protoexten_cb, int size);   //为ISAPI协议外部设置回调函数(这个int size干嘛用的?size就是结构体指针opdevsdk_protoexten_cb后面还有多少个同样的结构体,可以用*(p+i)访问;主要它传进来的第一个参数可能是个数组的头指针,所以第二个参数就是这个数组的大小)
typedef struct{  //char *url_suffix; ///< remain path for url when registerging function  //注册函数时保留url的路径int  connect_type;   ///< 0-shot connect��1- long connect   //短链接(0)还是长链接(1)/// @param _req_des: http request  //http请求/// @param _resp_des: http response    //http响应/// @return op_devsdk_errno_codeop_devsdk_errno_code (*opdevsdk_protoexten_data_callback)(OP_DEVSDK_REQ_DES *_req_des, OP_DEVSDK_RESP_DES *_resp_des); //定义一个回调函数
}opdevsdk_protoexten_callback;
op_devsdk_errno_code (*opdevsdk_protoexten_data_callback)(OP_DEVSDK_REQ_DES *_req_des, OP_DEVSDK_RESP_DES *_resp_des);

其中op_devsdk_errno_code是回调函数返回值, OP_DEVSDK_REQ_DES *_req_des, OP_DEVSDK_RESP_DES *_resp_des是回调函数的参数

(需要被注册的回调函数只需满足这样的返回值参数结构即可)

回调函数的结构比较特殊,它最重要的元素是返回值参数

回调函数小demo

#pragma warning(disable : 4996)
#include <stdio.h>
#include <stdlib.h>void (*call_back)(int a, int b); //创建回调函数void test(int* a, int size) {for (int i = 0; i < size; i++) {printf("%d\n", *(a+i));}
}int main()
{int a[5] = { 1,2,3,4,5 };//printf("%d\n",a[1]);//test(a,5);call_back = test;   //注册(绑定)回调函数call_back(a, 5);return(0);
}

VS运行结果:

1
2
3
4
5

C语言回调函数demo(帮助理解)以海康isapiExternDemo回调函数为例相关推荐

  1. 海康相机回调方式理一下

    在自带的例程里面Grab_Callback就是回调的例子.详细代码就不贴了. 首先是相机初始化 // ch:枚举设备 | en:Enum deviceMyCamera.MV_CC_DEVICE_INF ...

  2. c++ 海康工业相机回调方式抓图片

    1.MVS 软件 下载地址:百度网盘 请输入提取码   k6a7 MVS 是海康工业相机官方提供的调试软件,可以对相机进行修改IP,配置相关的相机参数 注意事项: mvs配置有三种模式   大师 &g ...

  3. 多路海康网络摄像头数据实时回调(采用软解码方式)

    由于项目中需要访问多路海康摄像头的原始图像进行相关处理,搜索了大量的博客,对于多路海康摄像头回调都没有写的很清楚明白,看到此博客的你,静下心来研读下面的内容,你将会很容易调取多路海康网络摄像头. (1 ...

  4. Qt音视频开发18-海康sdk回调

    一.前言 海康sdk显示实时视频流除了支持句柄方式以外,也支持回调的方式拿到每一张图片自己绘制处理,当然回调除了拿到视频数据,其实音频数据也一块拿到了,自行调用音频设备播放就行,关于海康sdk回调这块 ...

  5. JavaCV音视频开发宝典:使用JavaCV读取海康平台或海康网络摄像头sdk回调视频TS码流并解析预览图像

    <JavaCV音视频开发宝典>专栏目录导航 <JavaCV音视频开发宝典>专栏介绍和目录 ​ 前言 两年前博主写了如何利用JavaCV解析各种h264裸流,<JavaCV ...

  6. memcpy函数_如何理解c语言中的回调函数

    在计算机程序设计中,回调函数,或简称回调,是指通过函数参数传递到其它代码的,某一块可执行代码的引用.这一设计允许了底层代码调用在高层定义的子程序. 这段话不是那么好理解,不同语言实现回调的方式有些许不 ...

  7. C语言回调函数Demo - Win32版

    回调函数:通过函数指针调用的函数.如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数.回调函数不是由该函数的实现方直接调用,而是在特定的事件 ...

  8. C语言工作笔记-对函数指针的进一步认识(与回调函数结合使用,并且对比C++的回调)

    目录 背景和基本概念(含与C++回调对比) 函数指针最一般的用法 函数指针结合回调 源码打包 背景和基本概念(含与C++回调对比) 毕业也有10个月了,加上实习已经工作14个月了,感觉这一年多的板砖生 ...

  9. c语言函数指针的理解与使用(学习)

    1.函数指针的定义 顾名思义,函数指针就是函数的指针.它是一个指针,指向一个函数.看例子: 1 2 3 A) char * (*fun1)(char * p1,char * p2); B) char  ...

最新文章

  1. 五张动图,看清神经机器翻译里的Attention!
  2. OpenCV的滑块与回调函数
  3. 深究AngularJS——排序
  4. python基础--字符串的内置函数
  5. 图像信噪比计算公式_CT 科研设计之图像质量对比研究三步曲
  6. juniper *** LT2P
  7. 基于遥感影像实现三种方法提取枣树面积精度分析
  8. 传递函数转化为状态空间 matlab,多变量系统传递函数模型转换为状态空间模型的MATLAB实现方法...
  9. epoll反应堆及ET模式下的EPOLLOUT学习总结
  10. 如何自己建网站,免费自助建站系统平台哪个最好?
  11. free, iostat, Linux, top, uptime, vmstat
  12. miss工作室官宣加盟新公司是真的吗
  13. 微信小程序常见面试题总结
  14. java算法:兔子生兔子
  15. 用夜神模拟器+GPA分析Android游戏
  16. 如果面试时大家都说真话
  17. 基于visual Studio2013解决面试题之1003字符串逆序
  18. 工作学会9句话,升职加薪变股东
  19. android省电优化方案,安卓省电折腾那么多年,这几个优化方案效果明显
  20. 摄像头在线测试_Leez学院| 面部检测 精准可靠 Leez P515 OpenCV工程测试

热门文章

  1. 关于MySQL AUTO_INCREMENT的小情况
  2. 运行Google CTemplate首页的例子遇到_CrtIsValidHeapPointer异常
  3. .NET Framework终于开源了!
  4. 【经济法常识转摘】借款人逾期不还钱,利率如何确定?
  5. 【转】简单介绍几个CDS视图聚合函数
  6. ABAP 数据类型的区别和转换
  7. ABAP内表(internal table)有关的系统变量
  8. 货拉拉周胜馥,这次赌“输”了?
  9. python处理列表中字典_Python列表嵌套字典的时候,如果要删除列表中其中一个字典要如何操作...
  10. 实验代做 行人识别_CVPR 2020 | 针对VI-ReID的分层跨模态行人识别