嵌入式Linux系统ev_base及ev_proxy

本文介绍了如何在嵌入式Linux系统中使用libevent库,通过C++封装了ev_base和ev_proxy类。ev_base提供了事件基类,包含定时器和loop管理,而ev_proxy进一步封装,支持定时器列表,通过on_ticks函数实现定时任务。文章提供了一个简单的应用实例,展示了如何创建和调度定时器,并给出了相关代码结构和Makefile。
摘要由CSDN通过智能技术生成

本章节是基于libevent的应用,C++的编程中,如果遇到C接口,我们可以先封装出一个类出来,也就是C转C++的写法。

1 ev_base

ev_base是基于libevent封装了一层C++类接口,源码文件两个:ev_base.h和ev_base.cpp;接口定义如下:

源码其实非常的简单,就是基于libevent实现了定时器和loop,以及接口对资源的管理(内存申请回收等):

  1. ev_base::ev_base()  
  2. {  
  3.     ::signal(SIGPIPE, SIG_IGN);  
  4.   
  5.     this->base_ = event_base_new();  
  6.   
  7.     this->tv_.tv_sec = 0;  
  8.     this->tv_.tv_usec = 1000 * 100;  
  9.   
  10.     evtimer_set(&this->evtimer_, ev_base::
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值