libevent简介

Libevent组件介绍

evutil

跨平台的网络编程函数功能的接口实现。

event and event_base

libevent后台实现的核心部分,它针对了各个平台,提供了基于事件的非阻塞I/O
这里的事件包括:读写事件、定时器事件、系统信号。

bufferevent

IO的缓冲机制,用户无需自己维护buffer

evbuffer

在bufferevent基础上实现的缓冲

evhttp

简单的http客户和服务端的实现

evdns

简单的dns客户和服务端的实现

evrpc

简单的rpc的实现

Libevent库和头文件

在libevent的安装目录下有lib和include,在写代码时如果用到头文件和库只需要在Makefile里面添加相关选项即可:

PROGS=echo \
      epoll \
      block_http_client

CLEANFILES = core core.* *.core *.o temp.* *.out typescript* \
        *.lc *.lh *.bsdi *.sparc *.uw


LIBEVENT_DIRECTORY = /home/zhangxiao/libevent/src/src2
LIBEVENT_INCLUDE = $(LIBEVENT_DIRECTORY)/include
LIBEVENT_LIBRARY = $(LIBEVENT_DIRECTORY)/lib

SRC=${shell pwd}/src

OUTPUT:=${shell pwd}/bin
MAKE_BIN_DIR := ${shell mkdir -p $(OUTPUT) }



all : ${PROGS}


CFLAGS+=-g  -I${LIBEVENT_INCLUDE} 
LDFLAGS+=-L${LIBEVENT_LIBRARY} -levent -lpthread -lrt

echo:${SRC}/echo.o
    @${CC} ${CFLAGS}  -o ${OUTPUT}/$@   $^  ${LDFLAGS}
epoll:${SRC}/epoll.o
    @${CC} ${CFLAGS}  -o ${OUTPUT}/$@   $^  ${LDFLAGS}
block_http_client:${SRC}/block_http_client.o
    @${CC} ${CFLAGS}  -o ${OUTPUT}/$@   $^  ${LDFLAGS}
clean:
    @rm -rf ${OUTPUT} \
        @rm -rf ${SRC}/*.o
.PHONY: all clean

参考

Programming with Libevent

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值