一、引言
最近在学习《Linux高性能服务器编程》一书,学习到后面看到了此书介绍libevent
这个库,自己未来也会从事服务器相关开发工作,于是决定静下心来好好研究这个库。
为了学习libevent函数的用法,我觉得最有效的方式是先运行起来一个实例程序,然后随着实例程序的步骤逐个去查阅源码,所谓先会用再会调试。
二、实例程序编译
这里我没有直接去编译sample文件夹下的相关代码,而是从网上找到了一份实例代码,实现一个定时器:每2秒执行一次printf,我的版本是libevent-2.1.12-stable
定时器程序如下:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <event2/event.h>
#include <event2/event_struct.h>
#include <time.h>
int event_is_persistent;
static void timeout_cb(int fd, short event, void *arg)
{
printf("run timeout_cb\n");
if (!event_is_persistent) {
struct event