libevent安装(Linux) && LINUX下libevent编译&&demo运行 (调试基础)---&& levent

http://popozhu.github.io/page/7/  --- Libevent事件,  libevent 机制分析.

 

libevent安装(Linux)

https://blog.csdn.net/pengshengli/article/details/93657384

 

1.官网:http://libevent.org/

   github:https://github.com/libevent/libevent

也可直接使用命令下载:

wget https://github.com/libevent/libevent/releases/download/release-2.1.10-stable/libevent-2.1.10-stable.tar.gz
2.安装

 $ ./configure
 $ make
 $ make verify   # (optional)
 $ sudo make install
如果configure的时候出现:bash: ./configure: Permission denied错误的话,使用以下命令

bash ./configure
安装完成后课查看libevent的库文件:

 3.使用:

在cc编译的时候加-levent选项

4.libevent的使用步骤

要说明的是libevent并不是封装socket,而是封装了select/poll/epoll等,严格来讲不是简单的封装,其使用Reactor的设计模式。也就是说我们使用libevent编程时,需要自己创建socket,然后将fd填充到event_base,并注册回调函数(即事件回调),当反应堆检测到事件时会直接调用我们注册的回调函数,这就是所谓的事件驱动。通常编写代码的步骤为:

(1)创建socket

(2)创建事件集event_base

(3)创建event_new(注册回调函数)

(4)添加事件到事件集event_base

(5)进行事件检测,event_base_dispatch()/event_base_loop()

实例后面补~


————————————————————————————————————————————————————————————————————————————————————————————————————————————————

LINUX下libevent编译&&demo运行

https://blog.csdn.net/littlebeat123/article/details/74010877

编译&&安装

1、./configure --prefix=/opt/libevent       ----------------- (制定配置安装路径,2019---1)

这一步是用来生成编译时用的makefile,其中,--prefix用来指定libevent的安装目录。

2、make 编译,我在编译的时候遇到如下报错:/root/libevent-2.1.8-stable/missing:行81: aclocal-1.15: 未找到命令


解决办法:

执行命令,autoreconf  -ivf 让其自动配置一下源代码。

然后在make编译就没问题了。

3、make install 安装成功,可以看到 /opt/libevent下面已经有文件生成了。

 

编译:gcc test.c -o test_event -I /opt/libevent/include/ -L /opt/libevent/lib/ -levent       --------------- (制定编译选项,2019---1)

注意:-I 是大写的 i 啊,不是小写的L,用来指定头文件的,-L则是用来指定引用库的位置的。

2、运行 ./test_event

报错:./test_event: error while loading shared libraries: libevent-2.1.so.6: cannot open shared object file: No such file or directory

没找到库,链接一下:ln  -s /opt/libevent/lib/libevent-2.1.so.6 /usr/lib64/libevent-2.1.so.6  (创建链接)

再次运行,ok了。

OK,可以继续捣鼓这个libevent了。

————————————————————————————————————————————————————————

————————————————————————————————————————————————————————

levent分析

https://blog.csdn.net/weixin_30471065/article/details/97543020

levent分析 :

https://github.com/xjdrew/levent

lua concurrency library based on libev, similar with gevent

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值