网上关于libevent的介绍不在少数,我相信目前看到我这篇博客时已经基本了解libevent是用来做什么的,有什么功能,在此就不重复介绍了。我会按照我学习的过程来完整记录整个库的所有核心内容和具体应用。

  libevent是一个用c语言开发的网络库,封装了select,poll,epoll这种IO复用函数,使之能够换一种方式:基于reactor 工作。

  首先安装libevent,进入官网https://libevent.org/进行下载,本文写作时间为2020年5月28日,本系列所有内容均基于目前最新稳定版2.1.11。读者可根据自己的需求下载自己将要用的版本,亦可和作者使用同一版本。

  可供下载的文件格式为gz压缩包,这种压缩格式目前在三大操作系统中均可直接解压缩,在windows中直接双击即可,在linux中使用tar命令解压缩。

  由于作者全程在Linux系统上进行学习与实验,故后序只介绍在linux中的具体操作,并且具体linux发行版本为Ubuntu18.04。

  下载解压后,需要对解压后的文件进行编译,这一步不能直接进行make,不然会出现下面这条错误信息:

make: *** No targets specified and no makefile found.  Stop.

  出错的原因是没有makefile文件 ,使用./configure 来生成这个文件,这个命令可以设置编译后的目录,默认是/usr/local。这时由于默认编译后文件在/usr/local内比较散乱,我们可以重新指定编译后的目录为/usr/local/libevent。当然,可以随意指定编译目录以后调用时知道在哪即可。

  作者指定的目录如下:

./configure /usr/local/libevent

  这样,我们便可以进行编译了,使用make编译后,继续用make install,如果此处出现错误,使用root进行编译即可。编译完成后,会在/usr/local文件夹下出现libevent文件夹,内含三个文件,这三个即是编译后的全部内容。

libevent学习之入门--[01]概述与安装的更多相关文章

  1. 【传智播客】Libevent学习笔记(一):简介和安装

    目录 00. 目录 01. libevent简介 02. Libevent的好处 03. Libevent的安装和测试 04. Libevent成功案例 00. 目录 @ 01. libevent简介 ...

  2. 0042 MySQL学习笔记-入门--01

    基本概念: 数据库DB(database): 数据的仓库,数据的集合,是数据的一种结构化的存储 数据库管理系统DBMS(database management system): 管理数据库的一套软件 ...

  3. Flask 学习(一)概述及安装

    Flask 概述及安装 Flask 简介 Flask是一个使用 Python 编写的轻量级 Web 应用框架.其 WSGI 工具箱采用 Werkzeug ,模板引擎则使用 Jinja2 . 官方网址 ...

  4. Python学习笔记 :01概述

    Python基础 首先推荐学习Python基础的教程和书籍 视频教程推荐南京大学张莉老师在cousera上的教程用Python玩转数据 入门教程<Python基础教程> 数据挖掘教程< ...

  5. Hive 01 概述、安装配置

    概述 数据仓库:是一个面向主题的.集成的.不可更新的.随时间不变化的数据集合,它用于支持企业或组织的决策分析处理. 数据仓库的结构和建立过程: 数据源 数据存储及管理 ETL Extract 提取 T ...

  6. 基础学习day01--JAVA入门和JDK的安装与配置

    一.软件是什么 软件按照一定顺序组成的计算机指令和数据集合. 二.什么是软件开发 软件开发是使用计算机的语言制作的软件.如迅雷,Windows系统,Linux,QQ等. 三.DOS常用命令 cd..: ...

  7. 054 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 01 数组概述

    054 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 01 数组概述 本文知识点:数组概述 为什么要学习数组? 实际问题: 比如我们要对学生的成绩进行排序,一个班级 ...

  8. 034 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 01 流程控制概述

    034 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 01 流程控制概述 本文知识点:Java中的流程控制相关概念的认识 三大流程控制语句结构的简介 顺序 ...

  9. 039 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 01 循环结构概述

    039 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 01 循环结构概述 本文知识点:循环结构概述 循环结构主要内容 while 循环 do-whiile ...

  10. (大数据工程师学习路径)第一步 Linux 基础入门----Linux 下软件安装

    介绍 介绍 Ubuntu 下软件安装的几种方式,及 apt,dpkg 工具的使用. 一.Linux 上的软件安装 通常 Linux 上的软件安装主要有三种方式: 在线安装 从磁盘安装deb软件包 从二 ...

随机推荐

  1. 安装MinGW-C++开发环境2--软件安装

    下面以MinGW安装路径为C:\Local\MinGW64为例说明安装过程: 1.解压x86_64-8.1.0-release-posix-seh-rt_v6-rev0.7z到C:\Local\Min ...

  2. 【当年笔记】集合之Queue队列

    1)Queue 分类 双端队列:双端队列(Deque)是 Queue 的子类也是 Queue 的补充类,头部和尾部都支持元素插入和获取. 阻塞队列:阻塞队列指的是指添加或删除元素时,如果没有成功,会阻 ...

  3. reduce()

    from functools import reducea=[10,11,22,33]b=reduce(lambda x,y:x+y,a)<===>sum(a)print(b)

  4. docker中安装elasticsarch 等镜像

    1.在dockerhub中查找镜像 2.查看镜像下的说明,如下图标识成功 a.安装elasticsearch 运行命令 docker run --name myes01 -d -p 9200:9200 ...

  5. 读后笔记 -- Java核心技术(第11版 卷 II) Chapter2 输入与输出

    2.1 输入 / 输出流 No relationship with java.util.stream. 抽象类 Readers/writes process characters, not bytes ...

  6. MQTT 客户端出现连接订阅等问题时如何排查?

    大家好,这是一期社区专题 FAQ.我们整理了近期社区中关注度较高的问题,在这里进行统一汇总解答. 今后本系列内容将不定期推送,敬请关注. 同时,如果大家在使用 EMQX 的过程中遇到问题,欢迎通过以下 ...

  7. [Oracle19C 数据库管理] 管理存储与表空间

    存储概览 存储的架构 Control File:储存了数据物理存储的信息.存在多个副本来避免单点故障.没有控制文件,数据库无法打开. DATA File: 存储用户与应用的信息,以及元数据与数据字典. ...

  8. Nucmer+LINKVIEW实现序列水平的共线性分析

    https://www.cnblogs.com/johnsonzzz/p/15151634.html https://github.com/YangJianshun/LINKVIEW 可以绘制两个基因 ...

  9. c++ 函数篇

    1.函数是什么样子: dataType  functionName( dataType1 param1, dataType2 param2 ... ){//do something }//形式参数pa ...

  10. Comparison Theorem in Riemannian geometry

    Given $p\in M$, locally, there exists a diffemorphism of $T_M$ and $B_r(p)\subset$, this is the most ...