Libevent 简介
Libevent是一款事件驱动的网络开发包,由于采用C语言开发体积小巧,跨平台,速度极快。大量开源项目使用了Libevent比如谷歌的浏览器和分布式的高速缓存系统memcached。libevent支持kqueue,select,poll,epoll,iocp。内部事件机制完全独立于公开事件API,libevent支持跨平台可以在Linux,*BSD,MacOSX,Solaris,Windows等平台上编译。
学习条件:具有一定的C/C++基础,熟悉Linux
环境搭建
- 配置
zlib库
# 1. 解压zlib 1.2.11
tar xvf zlib-1.2.11.tar.gz
# 2. 编译
cd zlib-1.2.11/
./configure
make
make install
- 配置
openssl库
# 1. 解压openssl-1.1.1.tar.gz
tar xvf openssl-1.1.1.tar.gz
# 2. 编译
cd openssl-1.1.1/
./configure
make
make install
- 配置
libevent环境
# 1.加压liebevent 2.1.8
unzip libevent-master.zip
# 2. 编译
cd libevent-master/
./autogen.sh
./configure
make
make install
# 3.将动态路来连接到 /usr/lib 下或者执行以下 ldconfig
sudo ln -s /usr/local/lib/libevent-2.2.so.1 /usr/lib/libevent-2.2.so.1
实战实例
创建event_base
仅仅实现创建上下文
/***
* 创建event base
* */
#include <event2/event.h>
#include <iostream>
using namespace std;
int main()
{
std::cout << "test libevent!\n";
//创建libevent的上下文
event_base * base = event_base_new();
if (base)
{
cout << "event_base_new success!" << endl;
}
return 0;
}
本文中所有用到的库文件以上传到代码仓库上,要是下载慢可以先克隆岛码云上在在码云上下载该代码

本文介绍Libevent,一款用于事件驱动网络开发的C语言库,因其轻量级、跨平台及高性能特性被广泛应用于谷歌浏览器和memcached等项目。文章涵盖Libevent的基础安装配置,包括zlib、openssl及libevent自身,并提供了一个简单的实战实例。
515

被折叠的 条评论
为什么被折叠?



