如何用C实现事件监听机制,我熟悉C++和Java。我没有得到任何使用 C 的好方法。最好使用函数指针。提前致谢。
最佳答案
通常,一个好的方法是在传入事件和回调函数(函数指针)之间建立映射:例如如下所示:
static const event_handling_map_t event_handling_map[] = {
{EVENT1, handle_event_1},
{EVENT2, handle_event_2},
{EVENT3, handle_event_3}
}
其中handle_event是应该处理特定事件的函数。 因此,当接收到事件时,可以使用特定的函数,例如(假设 EVENT1 定义在枚举中,并且其值为 0),将像这样调用该函数:
event_handling_map[EVENT1].handle_events_cb(args);
在本例中,handle_event_cb
将为 handle_event_1
。
关于c - C语言的事件管理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21450202/