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;
}