读书人

C语言函数注册有关问题

发布时间: 2013-02-03 12:33:31 作者: rapoo

C语言函数注册问题
本帖最后由 zhlf117 于 2013-01-18 10:37:50 编辑 经常看到C开发的软件代码里有什么注册函数,注册勾子函数等等
函数我知道只需要声明和定义就可以调用了,为什么还要注册?注册了有什么用处?
还有就是回调函数的概念不懂。请教大家呀!!! c
[解决办法]
注册就是在有事件发生的时候,能够自动调用你写的函数,做你想要的处理。
[解决办法]
比如系统一个类,系统某事件发生会通知到这个类,现在你也想得到这个事件,怎么办呢?调用类预留的注册接口,告诉类,把事件传给哪个函数。这样你就能得到这个事件了。
[解决办法]
就是回调函数了,

e.g.:

typedef struct
{
int (* cb)(int, int);
}thread_ctx;

创建thread的时候: thread_ctx.cb = func_cb;//这里是你需要注册的函数

thread在判断某些条件的时候就可以直接调用
thread_ctx.cb();

读书人网 >C语言

热点推荐