#include <stdio.h>
#include <iostream>
#include <event.h>
using namespace std;
void timer_1s_callback(int fd, short event, void *arg)
{
cout << "1 second" << endl;
struct timeval tv;
tv.tv_sec = 1;
tv.tv_usec = 0;
event_add((struct event *)arg, &tv);
}
int main()
{
event_init();
struct event evTimer;
evtimer_set(&evTimer, timer_1s_callback, &evTimer);
struct timeval tv;
tv.tv_sec = 1;
tv.tv_usec = 0;
cout << "before add." << endl;
event_add(&evTimer, &tv);
cout << "before dispatch." << endl;
event_dispatch();
cout << "end." << endl;
return 0;
}
编译需要链接libevent.so 这个库, g++ a.c -levent,前提当然是已经安装好libevent库了,执行的时候可能会找不到库,需要自己配置写LD_LIBRARY_PATH环境变量,将event库路径包含进去