回调函数定义
前段时间项目需要与软件端通过回调方式实现运控动作指令的下发,特此记录下回调函数的具体实现流程。网上查找了回调相关定义:**回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数。回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。**下面结合项目开发过程中整理的实现流程图对上述这段话进行解释。
具体应用流程
首先在视觉侧定义函数指针的形式:typedef int(*GlueIndexCallBack) (int _index); 然后将GlueIndexCallBack 作为参数在接口类及功能实现类中作为参数逐层进行调用,视觉侧在适当位置对传入的GlueIndexCallBack 类函数进行赋值或返回。软件侧作为调用方,声明与函数指针指向类型相同的函数作为回调函数,软件侧调用视觉侧接口时将该函数作为参数传入,当视觉侧对改函数动作后,软件侧在回调函数内部定义具体的需求指令。文章所述不当及需改进之处欢迎大家指正!