libev学习系列之三:libev编译安装

2023-11-14

libev学习系列之三:libev编译安装


版本说明

版本 作者 日期 备注
0.1 ZY 2019.5.31 初稿

目录

源码结构

4.24的源码结构如下:

.
├── aclocal.m4
├── autogen.sh
├── Changes
├── compile
├── config.guess
├── config.h.in
├── config.sub
├── configure
├── configure.ac
├── depcomp
├── ev.3
├── ev.c
├── event.c
├── event.h
├── ev_epoll.c
├── ev.h
├── ev++.h
├── ev_kqueue.c
├── ev.pod
├── ev_poll.c
├── ev_port.c
├── ev_select.c
├── ev_vars.h
├── ev_win32.c
├── ev_wrap.h
├── install-sh
├── libev.m4
├── LICENSE
├── ltmain.sh
├── Makefile.am
├── Makefile.in
├── missing
├── mkinstalldirs
├── README
├── Symbols.ev
├── Symbols.event
└── TODO

0 directories, 37 files

看到configure按照以往编译开源库的经验就可以基本确定这个是configure脚本系的编译方式了,那么按照我们之前源码编译一些开源库的方式,对于configure系(可以看我的博客里交叉编译php等一些总结),基本上通过configure配置一下编译器、安装位置等,然后运行configure这个shell脚本就会生成Makefile,接着make编译、make install安装即可(必要时加上root权限)。

这里再说一下正常编译安装到Ubuntu等的方式以及交叉编译的方式。

正常编译

正常编译(正常编译一般不需要指定安装目录、编译器以及宿主环境,所以直接默认即可):

./configure
make
sudo make install

至于使用时一个是加上头文件

#include <ev.h>

一个就是链接时

-lev

交叉编译

交叉编译(confgure脚本配置交叉编译器、宿主环境、安装位置):

CC=arm-linux-gcc ./configure --host=arm-linux --prefix=/home/zy/work_dir/libev-4.24/arm-linux-ev/
make
make install

结果:

$ tree .
.
├── include
│   ├── event.h
│   ├── ev.h
│   └── ev++.h
├── lib
│   ├── libev.a
│   ├── libev.la
│   ├── libev.so -> libev.so.4.0.0
│   ├── libev.so.4 -> libev.so.4.0.0
│   └── libev.so.4.0.0
└── share
    └── man
        └── man3
            └── ev.3

5 directories, 9 files

编译和链接则由于没有安装到系统路径需要使用-I指定头文件位置以及-L指定库路径。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

libev学习系列之三:libev编译安装 的相关文章

  • 网络编程先导知识

    目录 1 什么是网络协议 2 什么是Socket Socket主要类型 3 C S和B S架构 4 网络字节序和主机字节序 5 局域网和广域网 6 IP地址和端口的概念 1 什么是网络协议 为了在计算机网络中做到有条不紊地交换数据 就必须遵
  • libevent(7)libevent中的事件event

    一 事件状态 libevent有4种事件状态 分别是 initialized pending active persistent 这4种状态的转换关系如下 1 已初始化 initialized 对应图中的non pending状态 表示事件
  • 网络编程——TFTP协议(基于UDP)

    目录 1 tftp协议概述 2 tftp下载模型 3 tftp协议分析 代码 1 tftp协议概述 简单文件传输协议 适用于在网络上进行文件传输的一套标准协议 使用UDP传输 特点 是应用层协议 基于UDP协议实现 数据传输模式 octet
  • 完成端口(CompletionPort)详解 - 手把手教你玩转网络编程系列之三

    http blog csdn net xujiezhige article details 41115453
  • libevent(6)windows上使用iocp网络模型

    windows操作系统上不能使用epoll模型 只能使用iocp网络模型 这里我把怎么在windows上使用iocp的代码直接贴上 include
  • libev学习系列之三:libev编译安装

    libev学习系列之三 libev编译安装 版本说明 版本 作者 日期 备注 0 1 ZY 2019 5 31 初稿 目录 文章目录 libev学习系列之三 libev编译安装 版本说明 目录 源码结构 正常编译 交叉编译 源码结构 4 2
  • Python基于Scapy的抓包协议分析器

    环境 py3 8 原理 模仿wireshark 利用python的scapy模块下的sniff 函数进行数据的抓取 并进行所谓的 消费者处理 即跟据OSI网络协议模型进行协议分析 将整个程序精简的概括得到最关键的一句代码 sniff prn
  • 170_web服务器_两个需求【1-】获取虚拟机上数据库数据显示到网页 【2-】网页下拉框数据,发送到MQTT服务器上【html实现网页,.js实现内在,.cgi实现内核】

    实例 html 两个功能一起实现在网页 表面
  • web服务搭建

    Python 吹爆Python 1行代码搭建Web服务器30行代码实现服务器的文件上传下载 需求 手机每日下载图片 然后需经过本人编写的Python脚本处理一遍 再返回到手机上 个人电脑不能保证时刻开机在线 自己也不可能一直在电脑旁边 故欲
  • linux socket非阻塞之connect 函数

    1 connect原型 include
  • 程序猿眼中的协议:TCP / IP 五层网络模型

    哈喽 大家好 我是你们的老朋友 保护小周 本期为大家带来的是 网络基础原理中的 TCP IP 五层网络模型 主要从协议的概念 网络模型 数据分层传输的流程 几个方面讲解 看完之后可以轻松的理解数据是如何在网络中传输的 确定不来看看嘛 更多精
  • 网络编程---TCP/UDP套接字编程原理

    本篇介绍的是Linux下的网络编程 故有些接口是不适用于Windows的 但是具体概念和实现方法是大体一致的 本篇重在讲解原理 具体实现请戳这里 gt UDP套接字编程实现 介绍 网络编程套接字 socket 也是进程间通信的一种方式 但是
  • C++针对ZeroMQ库的选择

    介绍 ZeroMQ 也称为0MQ或 MQ 是一个高性能 低延迟的消息队列库 它为分布式和并发应用程序提供了简洁 高效的通信机制 它是一个开源的库 支持多种编程语言 包括C 和操作系统 ZeroMQ通过使用套接字抽象来实现消息传递 使得它易于
  • 网络编程——软件架构、osi七层、TCP/UDP协议

    文章目录 一 网络编程是什么 二 软件架构 1 c s架构 2 b s架构 三 OSI七层 1 物理层 2 链路层 3 网络层 4 传输层 5 应用层 四 TCP UDP协议 1 TCP 2 UDP协议 一 网络编程是什么 一个完整计算机系
  • 并发编程概览

    由于内容较多 将会分成多篇文章详述 可移步查看 操作系统发展史 多道技术 进程理论 进程的并行与并发 进程的三状态 同步与异步 阻塞与非阻塞 同步异步与阻塞非阻塞 创建进程的多种方式 join方法 进程间数据默认隔离 进程间通信IPC机制
  • Node.js开发入门—HTTP文件服务器

    HelloWorld示例只有演示意义 这次我们来搞一个实际的例子 文件服务器 我们使用Node js创建一个HTTP协议的文件服务器 你可以使用浏览器或其它下载工具到文件服务器上下载文件 用Node js实现的HTTP文件服务器 比我在Qt
  • fork()函数详解

    一个进程 包括代码 数据和分配给进程的资源 fork 函数通过系统调用创建一个与原来进程几乎完全相同的进程 也就是两个进程可以做完全相同的事 但如果初始参数或者传入的变量不同 两个进程也可以做不同的事 一个进程调用fork 函数后 系统先给
  • UNIX网络编程-recv、send、read、write之间的联系与区别

    原文链接 http www cnblogs com mhscn p 3911284 html include
  • 通过python程序调取摄像头画面

    目录 1 方法 2 演示代码 3 总结 1 方法 想要调取摄像头画面有这么几个前提 需要使用网络摄像头并且支持RTSP协议 摄像头要和你的电脑在同一个局域网下 需要知道摄像头的账号 密码 IP地址 RTSP协议是一种网络传输协议 不同的摄像
  • 为什么在宏定义中使用 do { } while (0) ? [复制]

    这个问题在这里已经有答案了 可能的重复 为什么 C C 宏中有时会出现无意义的 do while 和 if else 语句 https stackoverflow com questions 154136 why are there som

随机推荐

  • Java类的声明及文件命名规范】- 在Java中定义公共类的正确姿势

    Java类的声明及文件命名规范 在Java中定义公共类的正确姿势 引言 在Java编程中 类的声明和文件的命名是非常重要的 这决定了代码的结构性和可维护性 本文将详细介绍如何在Java中声明公共类 并遵循正确的文件命名规范 以确保代码的可读
  • MSP430项目设计:2020年TI杯大学生电子设计竞赛 坡道行驶电动小车(C题)循迹小车(分享项目展示视频与源码)

    文章目录 题目要求 一 硬件设计 二 理论分析与计算 三 电路与程序设计 四 测试方案与测试结果 五 项目展示 2021年10月27 2022年1月1日 可承接毕业设计 课程设计 价格实惠 有意可添加Q2809786963 哔哩哔哩项目展示
  • 在eclipse下单步调试python

    在eclipse下可以单步调试python的方法 1 右键单击标尺栏添加断点 2 将鼠标移至需要添加断点的代码行 使用快捷键 Ctrl F10 在弹出的菜单栏中选择 Add Breakpoint 添加断点 添加好断点后 选择 Debug A
  • 软件工程实践作业----软件评测

    这个作业属于哪个课程 lt 软件工程23年春季 gt 这个作业要求在哪里 lt 软件工程实践作业 软件评测 gt 这个作业的目标 对产品调研评测 思考分析 建议和规划 其他参考文献 构建之法 目录 Bug严重性量化标准 一 第一部分 调研评
  • iphonex屏幕出现一条绿线_如何解决iPhone屏幕断触、触控不灵敏问题?

    虽然从显示技术和触控体验方面来说 iPhone 都能超过绝大多数智能手机 但是在日常使用过程中偶尔会存在一些问题 例如断触 触摸不灵敏 有些问题来自于系统本身 有些则可能是硬件原因 针对使用过程中遇到的屏幕问题 可以从以下 4 个方面解决
  • Unity 初识:坐标系与向量

    世界坐标系 场景中的绝对坐标系 场景上所有物体都是以该坐标系的原点来确定各自位置的 世界坐标即物体在世界坐标系中的位置 局部坐标系 以物体的世界坐标为原点 角度为朝向 大小为单位 所产生一个新的坐标系 该坐标系中 物体的位置 旋转 大小都会
  • 免费国外视频素材网站

    这里自己收藏几个可以免费下载国外视频的网站 希望大家喜欢 可以的话给个关注哟 Pexels Videos https videos pexels com Pexels 是一个著名的免费图片平台 每天都会有大量的设计师和博客写手来这里为他们的
  • 前端接入萤石云

    萤石云有两个方法使用 npm引入 非npm引入 两个方法中的js内容不同 所以容器初始化方法也不同 详情可到github查看 https github com Hikvision Ezviz npm引入 步骤一 首先通过npn下载 npm
  • 对字符串按照一定的长度来分行或者添加其他数据

    核心代码 对字符串按照一定的长度来分行或者添加其他数据 param str 原始字符串 param int length 插入的间隔长度 param string append 需要插入的字符串 return string 返回字符串 fu
  • 【程序员面试金典】实现一个函数,检查二叉树是否平衡,

    题目描述 实现一个函数 检查二叉树是否平衡 平衡的定义如下 对于树中的任意一个结点 其两颗子树的高度差不超过1 给定指向树根结点的指针TreeNode root 请返回一个bool 代表这棵树是否平衡 题目分析 lt 方法1 gt 平衡二叉
  • [附代码]多输入AD模数转换,数据接受模块 Verilog 实现 (授人与渔)

    要素察觉 本文基于 AD7888 八输入通道 模数转换芯片 对转换后的数据在 FPGA 中进行接收 所使用的 HDL 为 Verilog 所有实现步骤依据 AD7888 DataSheet 中给出的相关数据和时序图 对原理和相应 Veril
  • mysql中的锁

    锁分类 MySQL中的锁 按照锁的粒度分 分为以下三类 1 全局锁 锁定数据库中的所有表 2 表级锁 每次操作锁住整张表 3 行级锁 每次操作锁住对应的行数据 全局锁 全局锁就是对整个数据库实例加锁 加锁后整个实例就处于只读状态 后续的DM
  • 网易笔试题

    网易笔试不难 但是给了我一个教训 所以记下来以留念 时间 11月3日8 00 后来改到10 00 地点 西安交通大学教2南315教室 赶到考场时 离考试开始时间只差2分钟了 找了个座位坐下后没有任何的等待笔试就开始了 网易的笔试题目很有趣
  • CVE-2023-21839 【vulhub weblogic 漏洞复现】

    漏洞概述 由于Weblogic IIOP T3协议存在缺陷 当IIOP T3协议开启时 允许未经身份验证的攻击者通过IIOP T3协议网络访问攻击存在安全风险的WebLogic Server 漏洞利用成功WebLogic Server可能被
  • ffmpeg命令大全

    ffmpeg命令大全 FFMPEG 目录及作用 FFMPEG基本概念 FFMPEG 命令 基本信息查询命令 主要参数 视频参数 音频参数 录制 录屏 分解与复用 滤镜 简单滤镜 复杂滤镜 直播相关 前言 FFMPEG是特别强大的专门用于处理
  • c/c++获取文夹下所有图片文件路径

    在做项目的时候 我们有时候会遇到给定一个文件夹目录 获取该目录下某种类型的文件的路径 也就是遍历一个目录下的所有文件 经过查询 发现可以通过 代码实例 获取某一目录下所有的 jpg文件路径 include
  • Java知识点汇总第二篇(红色为重点内容,黄色为应用较多的,蓝色为了解的

    一 1 标识符 定义 用来表示变量名 类名 方法名 数组名和文件名的有效字符序列 以字母 下划线 美元符号等开始 后面可以跟字母 下划线 美元符号 数字等字符 注 不能以数字开始 大小写敏感 不能与关键字相同 2 关键字 定义 Java中被
  • 计算机网络-6-应用层

    Lecture06 应用层 本节PPT包含5 7三层 The Session Layer 会话层 The Presentation Layer 展示层 The Application Layer 应用层 1 第五层 The Session
  • 性能测试常见指标有哪些

    性能测试的常见指标包括 1 响应时间 Response Time 用户发送请求到系统返回结果所花费的时间 2 吞吐量 Throughput 单位时间内系统处理的请求数量 通常以每秒请求数 SPS或TPS 表示 3 并发用户数 Concurr
  • libev学习系列之三:libev编译安装

    libev学习系列之三 libev编译安装 版本说明 版本 作者 日期 备注 0 1 ZY 2019 5 31 初稿 目录 文章目录 libev学习系列之三 libev编译安装 版本说明 目录 源码结构 正常编译 交叉编译 源码结构 4 2