网上关于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. qt creator 常量中有换行符(转)

    这篇文章写于QT5.6的诞生,它是QT5的第一个长期支持版.这也是QT5已成熟的里程碑. 我搭建的环境是:Win10+VS2015+QT5.6+QtCreator 在安装VS2015的时候,若是用Qt ...

  2. AI口算批改、练习小程序

    一个口算助手小程序,可以拍照批改作业,口算练习,专为家长辅导孩子学习打造的口算助手. 后端采用java开发   下载源码: http://market.zhenzikj.com/detail/132. ...

  3. python 删除大于超过一定时间文件

    import os from datetime import datetime, timedelta path = "." if __name__ == '__main__': f ...

  4. uniapp-时间组件

    可以选择年月日时分秒 示例文件 my-datetime.zip 文档:https://ext.dcloud.net.cn/plugin?id=5603

  5. 2021 icpc 沈阳 I 【分式线性变换的保交比性】

    分式线性变换的保交比性 对于分式线性变换,具有保交比性 应用 在复数域下,存在分式线性变换,给定三个输入和输出,再给定第四个输入,求其在这个分式线性变换下的输出. https://codeforces ...

  6. mybatis的自定义类型转化器如何使用

    <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-/ ...

  7. python自动化模块及运维工具

    1. psutil 可以获取系统运行的进程和系统利用率(CPU 内存-)信息 import psutil 2. IPy 是python 第三方处理IP地址模块 from IPy import IP 3 ...

  8. 【阿里云ACP】-04(负载均衡SLB、弹性伸缩AS内容分发、网络与VPC)

    阿里云例题介绍-CDN F公司新推出一款手机APP,将安装包链接挂在公司的官网(基于云服务器ECS实例)进行下载(安装包大小:6Mb),上线前两个月下载速度还能接受.自从上周公司在CCTV做了一次广告 ...

  9. ES得分

    一.概念 1.ES主要用于搜索 2.搜索要把更有相关性的结果展示出来 3.对一个文档评分,相关性越大,评分越高 4.打分的本质是排序 二.评分规则 1.ES5之前,默认评分规则是TF-IDF,这是信息 ...

  10. [CQOI2006]凸多边形 /【模板】半平面交

    洛谷 题意:逆时针给出\(n(n<=10)\)个凸多边形的顶点坐标,求它们交的面积. 学长博客,计算几何知识全面 半平面交问题详细讲解 其他模板题推荐 [ICPC2020 WF] Domes [ ...