当前位置: 首页 > news >正文

CentOS/Ubuntu/Debian安装LibeventCentOS安装Libevent库(含示例代码)库(含示例代码)

使用命令:CentOS安装Libevent库(含示例代码)

sudo yum install libevent-devel

 Ubuntu/Debian:

sudo apt install libevent-dev

示例代码:
 

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <time.h>
#include <event.h>
#include <signal.h>
void sig_cb(int fd, short ev, void* arg)
{if ( ev & EV_SIGNAL ){printf("sig=%d\n",fd);}
}
void time_cb(int fd, short ev, void* arg)
{if ( ev & EV_TIMEOUT ){printf("time out\n");}
}
int main()
{struct event_base * base = event_init();if ( base == NULL ){exit(1);}//struct event *sig_ev = evsignal_new(base,SIGINT,sig_cb,NULL);struct event * sig_ev = event_new(base,SIGINT,EV_SIGNAL,sig_cb,NULL);if ( sig_ev == NULL ){exit(1);}event_add(sig_ev,NULL);//struct event * time_ev = evtimer_new(base,time_cb,NULL);struct event * time_ev = event_new(base,-1,EV_TIMEOUT,time_cb,NULL);if ( time_ev == NULL ){exit(1);}struct timeval tv = {5,0};event_add(time_ev,&tv);event_base_dispatch(base);// 阻塞   select/ poll/ epollevent_free(time_ev);event_free(sig_ev);event_base_free(base);
}

编译:
 

g++ 你的文件名 -o Libevent -levent

运行起来后:


你键入Ctrl+c,打印sig=2

到达5秒后,将打印time out

两个事件都触发后,将退出程序。

http://www.lryc.cn/news/458216.html

相关文章:

  • 【大数据】数据采集工具sqoop介绍
  • vite学习教程02、vite+vue2配置环境变量
  • k8s 的网络通信
  • 【编程基础知识】掌握Spring MVC:从入门到精通
  • 多线程下,@Transactional失效解决
  • PyCharm 项目解释器切换指南:如何在项目中更换 Python Interpreter
  • STM32F407寄存器操作(DMA+SPI)
  • Oracle 的 OCP 与 MySQL 的 OCP 的区别
  • 数据治理、数据清洗定义、区别以及数据清洗常用方法
  • web基础-攻防世界
  • Java基础-String Class(字符串类)
  • 《Linux服务与安全管理》| 服务进程与网络配置
  • No.15 笔记 | CSRF 跨站请求伪造
  • 解决linux中pip速度过慢问题
  • FlinkSQL中 的 双流JOIN
  • Mysql(五) --- 数据库设计
  • po框架的了解和应用
  • Linux云计算 |【第四阶段】RDBMS2-DAY5
  • 从0开始深度学习(9)——softmax回归的逐步实现
  • Cannot inspect org.apache.hadoop.hive.serde2.io.HiveDecimalWritable 问题分析处理
  • 电子取证新视角:USB键盘流量提取密码方法研究与实现
  • Tongweb7049m4+THS6010-6012配置故障轉移+重試机制(by lqw)
  • 在线客服系统网站源码-网页聊天客服实现代码
  • JioNLP:一款实用的中文NLP预处理工具包
  • GR-ConvNet论文 学习笔记
  • windows环境批量删除指定目录下的全部指定文件
  • 水深探测仪的作用和使用方法
  • Leetcode 搜索插入位置
  • jsp怎么实现点赞功能
  • 取消microsoft edge作为默认浏览器 ,修改方法,默认修改不了的原因