仿照QT中信号和操的底层实现机制,将其在纯C的linux平台下实现,特点:
1、采用Qt底层实现方式,实现纯C试下你的
2、事件和槽函数机制
3、事件驱动
4、信号和操的连接方式可以有两种“直接连接”和“队列连接”
直接连接:发射信号方法退出时,已经执行完成,
队列连接:发送信号后,由事件驱动来完成槽函数调用。
后期改进:
当前函数的参数使用结构体传递参数,以后改进将使用("%d%f%c%s", ......)的方式传递参数,第一个参数指明有多少个参数,以及参数的类型。
#include <ev.h>
#include <stdio.h>
#include <signal.h>
#include <sys/unistd.h>
#include "cy.h"
ev_io io_w;
ev_timer timer_w;
cy_sig_t sig1;
cy_sig_t sig2;
cy_slot_t slot1;
cy_slot_t slot2;
cy_slot_t slot3;
cy_slot_t slot4;
cy_slot_t slot5;
cy_slot_t slot6;
cy_thread_data_t main_thread_data=
{
.name = "main_thread",
.init_flag = CY_THREAD_UNINIT,
.start_flag &