Libevent的特点:
1. 基于事件驱动
2. 轻量级,源码精炼,不像ACE那样庞大臃肿
3. 跨平台
4. 支持多路I/O
从网上下载安装包后放到目录解压,到libevent-2.1.8-stable
目录下依次执行:
./configure
make
sudo make install
编译完成的库文件在libevent-2.1.8-stable/.libs
中,有libevent.so libevent.a libevent-2.1.so.6 libevent-2.1.so.6.0.2
用下列代码测试是否能使用了:
#include <iostream>
#include <event2/event.h>
#include <unistd.h>
#include <stdlib.h>
using namespace std;
int main()
{
struct event_base* base;
base = event_base_new();
int i;
const char **methods = event_get_supported_methods();
printf("starting %s\nmethods are:\n",event_get_version());
for(i=0;methods[i]!=NULL;i++)
{
printf(" %s\n",methods[i]);
}
event_base_dispatch(base);
event_base_free(base);
return 0;
}
我是在Qt Creator里编译的,需要在pro文件里加一句LIBS += -L/home/zzp/Downloads/libevent-2.1.8-stable/.libs/ -levent
如果用vim+gcc,编译用gcc test.c -o test -levent
输出:
starting 2.1.8-stable
methods are:
epoll
poll
select
现在可以正常使用了,每次都要配置pro文件。