linux C语言信号和操

本文档展示了如何在纯C的Linux环境下,借鉴Qt的信号和槽机制,实现事件驱动的程序设计。包括直接连接和队列连接两种信号与槽的连接方式,以及多个槽函数的调用示例。程序通过结构体传递参数,并计划改进为使用格式化字符串传递参数。
摘要由CSDN通过智能技术生成

仿照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 &

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值