#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库路径包含进去
本文介绍了一个使用Libevent库实现的简单定时器程序。该程序通过设置回调函数,在每过一秒时输出提示信息,并重新启动定时器。文章提供了完整的源代码及编译指导。
1210

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



