libevent安装

查看是否已安装

ls -al /usr/lib |grep libevent

没有输出说明未安装

下载

进入官网 http://libevent.org/
我下载的是:libevent-2.0.22-stable.tar.gz

解压

tar -zxvf libevent-2.0.22-stable.tar.gz 

编译安装

进入解压目录

cd libevent-2.0.22-stable/

编译安装

./configure -prefix=/usr
make
sudo make install
//查看说明已经安装完成
ls -al /usr/lib |grep libevent

这里写图片描述

libevent 头文件位于/usr/include/event.h 和 /usr/include/event2 目录

测试实例

#include<sys/signal.h>
#include<event.h>
#include<time.h>

//信号事件处理器
void signal_cb(int fd,short event,void* argc)
{
    struct event_base*  base = (event_base*)argc;
    struct timeval      delay = {2,0};
    printf("an interrupt signal\n");
    //循环2秒
    event_base_loopexit(base,&delay);
}
//定时事件处理器
void timeout_cb(int fd,short event,void* argc)
{
    printf("timeout\n");
}

int main()
{
    struct event_base*   base = event_init();
    //创建信号事件处理器,处理Ctrl+C 信号
    struct event*  signal_event = evsignal_new(base,SIGINT,signal_cb,base);
    //将事件处理器添加到注册事件队列
    event_add(signal_event,NULL);

    struct timeval  tv = {1,0};
    //创建定时事件处理器
    struct event*  timeout_event = evtimer_new(base,timeout_cb,NULL);
    event_add(timeout_event,&tv);

    //执行事件循环
    event_base_dispatch(base);

    event_free(timeout_event);
    event_free(signal_event);
    event_base_free(base);
    return 0;
}

这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值