CentOS 7 使用异步网络框架Libevent
CentOS 7 安装Libevent库
libevent github地址:https://github.com/libevent/libevent
步骤1:首先,你需要下载libevent的源代码。你可以从github或者源代码官方网站下载。并上传至/usr/local/source_code/

步骤2:下载完成后,需要将源代码解压,可以使用以下命令:
[root@localhost source_code]# tar -zxvf libevent-2.1.12-stable.tar.gz
步骤3:解压后,切换到源代码目录:
[root@localhost source_code]# cd libevent-2.1.12-stable
步骤4:生成cJSON动态/静态库,执行如下指令:
[root@localhost libevent-2.1.12-stable]# ./configure
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether make supports nested variables... (cached) yes
checking whether make supports the include directive... yes (GNU
******
[root@localhost libevent-2.1.12-stable]# makeGEN test/rpcgen-attemptedGEN include/event2/event-config.h
make all-am
make[1]: 进入目录“/usr/local/source_code/libevent-2.1.12-stable”CC sample/dns-example.oCC buffer.loCC bufferevent.loCC bufferevent_filter.lo
******
[root@localhost libevent-2.1.12-stable]# sudo make install
make install-am
make[1]: 进入目录“/usr/local/source_code/libevent-2.1.12-stable”
make[2]: 进入目录“/usr/local/source_code/libevent-2.1.12-stable”/usr/bin/mkdir -p '/usr/local/bin'/usr/bin/install -c event_rpcgen.py '/usr/local/bin'/usr/bin/mkdir -p '/usr/local/lib'
****
遇到的问题及解决办法
编译执行./test_libevent,提示如下截图错误信息:

产生原因:在运行时,程序无法找到libevent-2.1.so.7这个动态库,因为该动态库在默认安装时,存放的路径在/usr/local/lib下,不在系统的默认查找路径内。
解决办法:
[root@localhost libevent_demo]# cat /etc/ld.so.conf
include ld.so.conf.d/*.conf
/usr/local/openssl/lib
/usr/local/openssl/lib
[root@localhost libevent_demo]# echo "/usr/local/lib" >> /etc/ld.so.conf
[root@localhost libevent_demo]# sudo ldconfig
Libevent 之Hello World
在/usr/local/source_code 新增 libevent_demo目录并新增 test_libevent.cpp文件,文件内容如下:
#include <event2/event.h>
#include <iostream>
#include <string>
void timer_cb(evutil_socket_t fd, short what, void *arg)
{auto str = static_cast<std::string *>(arg);std::cout << *str << std::endl;
}
int main()
{std::string str = "Hello, World!";auto *base = event_base_new();struct timeval five_seconds = {1, 0};auto *ev = event_new(base, -1, EV_TIMEOUT, timer_cb, (void *)&str);event_add(ev, &five_seconds);event_base_dispatch(base);event_free(ev);event_base_free(base);return 0;
}
编译源码并执行:
[root@localhost libevent_demo]# g++ test_libevent.cpp -o test_libevent -levent
[root@localhost libevent_demo]# ./test_libevent
Hello, World!
Libevent 参考资料:
libevent GitHub地址:https://github.com/libevent/libevent
libevent 编程指南: https://senlinzhan.github.io/2017/08/12/libevent/
libevent 深入浅出:https://aceld.gitbooks.io/libevent/content/
相关文章:
CentOS 7 使用异步网络框架Libevent
CentOS 7 安装Libevent库 libevent github地址:https://github.com/libevent/libevent 步骤1:首先,你需要下载libevent的源代码。你可以从github或者源代码官方网站下载。并上传至/usr/local/source_code/ 步骤2:下载完成后&…...
枚举 B. Lorry
Problem - B - Codeforces 题目大意:给物品数量 n n n,体积为 v ( 0 ≤ v ≤ 1 e 9 ) v_{(0 \le v \le 1e9)} v(0≤v≤1e9),第一行读入 n , v n, v n,v,之后 n n n行,读入 n n n个物品,之后每行依次是体…...
ON1 Photo RAW 2024 for Mac——专业照片编辑的终极利器
ON1 Photo RAW 2024 for Mac是一款专为Mac用户打造的照片编辑器,以其强大的功能和易用的操作,让你的照片编辑工作变得轻松愉快。 一、强大的RAW处理能力 ON1 Photo RAW 2024支持大量的RAW格式照片,能够让你在编辑过程中获得更多的自由度和更…...
从word复制内容到wangEditor富文本框的时候会把html标签也复制过来,如果只想实现直接复制纯文本,有什么好的实现方式
从word复制内容到wangEditor富文本框的时候会把html标签也复制过来,如果只想实现直接复制纯文本,有什么好的实现方式? 将 Word 中的内容复制到富文本编辑器时,常常会带有大量的 HTML 标签和样式,这可能导致不必要的格式…...
项目中如何配置数据可视化展现
在现今数据驱动的时代,可视化已逐渐成为数据分析的主要途径,可视化大屏的广泛使用便应运而生。很多公司及政务机构,常利用大屏的手段展现其实力或演示业务,可视化的效果能让观者更快速的理解结果并直观的看到数据展现。因此&#…...
ArkUI开发进阶—@Builder函数@BuilderParam装饰器的妙用与场景应用
ArkUI开发进阶—@Builder函数@BuilderParam装饰器的妙用与场景应用 HarmonyOS,作为一款全场景分布式操作系统,为了推动更广泛的应用开发,采用了一种先进而灵活的编程语言——ArkTS。ArkTS是在TypeScript(TS)的基础上发展而来,为HarmonyOS提供了丰富的应用开发工具,使开…...
大语言模型概述(三):基于亚马逊云科技的研究分析与实践
上期介绍了基于亚马逊云科技的大语言模型相关研究方向,以及大语言模型的训练和构建优化。本期将介绍大语言模型训练在亚马逊云科技上的最佳实践。 大语言模型训练在亚马逊云科技上的最佳实践 本章节内容,将重点关注大语言模型在亚马逊云科技上的最佳训…...
键入网址到网页显示,期间发生了什么?
文章目录 键入网址到网页显示,期间发生了什么?1. HTTP2. 真实地址查询 —— DNS3. 指南好帮手 —— 协议栈4. 可靠传输 —— TCP5. 远程定位 —— IP6. 两点传输 —— MAC7. 出口 —— 网卡8. 送别者 —— 交换机9. 出境大门 —— 路由器10. 互相扒皮 —…...
深度学习基于Python+TensorFlow+Django的水果识别系统
欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 文章目录 一项目简介简介技术组合系统功能使用流程 二、功能三、系统四. 总结 一项目简介 # 深度学习基于PythonTensorFlowDjango的水果识别系统介绍 简介 该水果识别系统基于…...
vs动态库生成过程中还存在静态库
为什么VS生成动态库dll同时还会生成lib静态库 动态库与静态库(Windows环境下) 动态库和静态库都是一种可执行代码的二进制形式,可以被操作系统载入内存执行。 静态库实际上是在链接时被链接到exe的,编译后,静态…...
P13 C++ 类 | 结构体内部的静态static
目录 01 前言 02 类内部创建静态变量的例子 03 在类的内部创建静态变量的作用 04 最后的话 01 前言 本期我们讨论 static 在一个类或一个结构体中的具体情况。 在几乎所有面向对象的语言中,静态在一个类中意味着特定的东西。这意味着在类的所有实例中ÿ…...
【腾讯云云上实验室-向量数据库】Tencent Cloud VectorDB在实战项目中替换Milvus测试
为什么尝试使用Tencent Cloud VectorDB替换Milvus向量库? 亮点:Tencent Cloud VectorDB支持Embedding,免去自己搭建模型的负担(搭建一个生产环境的模型实在耗费精力和体力)。 腾讯云向量数据库是什么? 腾…...
git clone -mirror 和 git clone 的区别
目录 前言两则区别git clone --mirrorgit clone 获取到的文件有什么不同瘦身仓库如何选择结语开源项目 前言 Git是一款强大的版本控制系统,通过Git可以方便地管理代码的版本和协作开发。在使用Git时,常见的操作之一就是通过git clone命令将远程仓库克隆…...
基于51单片机的公交自动报站系统
**单片机设计介绍, 基于51单片机的公交自动报站系统 文章目录 一 概要公交自动报站系统概述工作原理应用与优势 二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 很高兴为您介绍基于51单片机的公交自动报站系统: 公交自动报…...
NextJS开发:Image组件的使用及缺陷
Next.js 中的 Image 组件相比于传统的 img 标签有以下几个优点: 懒加载:Image 组件自带懒加载,当页面滚动到 Image 组件所在位置时才会加载图片,从而加快页面的渲染速度。自动优化:Image 组件会自动将图片压缩、转换格…...
网络安全面试经历
2023-11-22 X亭安全服务实习生面试 一面: 工作方向:偏蓝队 总结:实习蓝队面试没有什么难度,没有什么技术上的细节问题,之前准备的细节问题没有考 最后和面试官聊了聊对网安的认识,聊了聊二进制的知识…...
Rust语言入门教程(四) - 数据类型
标量类型(Scalar Types) 在Rust中,一共有4中标量类型, 也就是基本数据类型,分别是: 整型(Integers)浮点型(Floats)布尔型(Boolean)字符型(Chara…...
华为云人工智能入门级开发者认证学习笔记
人工智能入门级开发者认证 人工智能定义 定义 人工智能 (Artificial Intelligence) 是研究、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。 强人工智能 vs 弱人工智能 强人工智能:强人工智能观点认为有可能制造出真正能推理(…...
腾讯云发布新一代基于AMD处理器的星星海云服务器实例SA5
基础设施的硬实力,愈发成为云厂商的核心竞争力。 11月24日,腾讯云发布了全新一代星星海服务器。基于自研服务器的高密设计与硬件升级,对应云服务器SA5是全球首家搭载第四代AMD EPYC处理器(Bergamo)的公有云实例&#…...
算法通关村-----数论问题解析
最大公约数和最小公倍数 概念描述 最大公约数(GCD)是指两个或多个整数共有约数中的最大值。 最小公倍数(LCM)是指两个或多个整数共有的倍数中的最小值 方法介绍 碾转相除法 一种用于计算两个整数的最大公约数(GCD…...
从Wi-Fi路由器到智能音箱:空间FFT(DOA)在消费电子中的实战应用与避坑指南
从Wi-Fi路由器到智能音箱:空间FFT(DOA)在消费电子中的实战应用与避坑指南 当你对着智能音箱喊"播放音乐"时,它总能准确识别你的位置并定向拾音;当Wi-Fi路由器自动优化信号覆盖时,它其实在默默计算…...
漫画下载神器终极指南:轻松离线阅读8大平台漫画
漫画下载神器终极指南:轻松离线阅读8大平台漫画 【免费下载链接】comics-downloader tool to download comics and manga in pdf/epub/cbr/cbz from a website 项目地址: https://gitcode.com/gh_mirrors/co/comics-downloader 还在为网络卡顿无法流畅阅读漫…...
ABAP BAPI_SALESORDER_CREATEFROMDAT2实战避坑:从常见报错到源码解析
1. 为什么BAPI_SALESORDER_CREATEFROMDAT2总让你头疼? 每次调用BAPI_SALESORDER_CREATEFROMDAT2创建销售订单时,是不是总有种"明明参数都填了,为什么还是报错"的无力感?这个BAPI就像个挑剔的美食家,少放一粒…...
music21节奏与时长管理:精确控制音乐时间要素
music21节奏与时长管理:精确控制音乐时间要素 【免费下载链接】music21 music21: a Toolkit for Computer-Aided Musical Analysis and Computational Musicology 项目地址: https://gitcode.com/gh_mirrors/mu/music21 在音乐创作和分析中,节奏与…...
AGI验证不是“加个测试集”那么简单:基于27个真实事故案例的12项反模式清单
第一章:AGI验证的本质挑战与范式跃迁 2026奇点智能技术大会(https://ml-summit.org) AGI验证远非传统软件测试或模型评估的简单延伸,其核心困境在于:验证对象本身缺乏稳定定义、可穷举行为边界与可判定终止条件。当系统具备跨域元认知、自主…...
DFIG_Wind_Turbine:基于MATLAB/Simulink的矢量控制双馈异步风力发...
DFIG_Wind_Turbine:基于MATLAB/Simulink的双馈异步风力发电机仿真模型,控制方案采用矢量控制,电机的有功功率和无功功率由转子侧变换器控制仿真条件:MATLAB/Simulink R2015b最近在研究风力发电机的控制方案,发现双馈异…...
Gemini电脑版下载(gemini电脑下载)
Gemini 是由 Google 开发的一款原生桌面端人工智能助手,它是 Google 历代 AI 技术(如 Bard)的集大成者。如果你在日常工作中需要高频率调用 AI 来处理复杂任务,特别是那些涉及跨应用协同或海量数据分析的需求,那么 Gem…...
低成本GPU部署方案:Ostrakon-VL扫描终端显存优化与Smart Resizing详解
低成本GPU部署方案:Ostrakon-VL扫描终端显存优化与Smart Resizing详解 1. 项目背景与核心价值 在零售与餐饮行业数字化转型浪潮中,视觉识别技术正发挥着越来越重要的作用。然而传统解决方案往往面临两大痛点:一是工业级UI设计过于沉闷&…...
特征融合实战:从Concat/Add到Attention的演进与选型
1. 特征融合的基础概念与核心价值 第一次接触特征融合这个概念时,我正为一个目标检测项目焦头烂额。当时模型对小物体检测效果特别差,前辈建议我试试特征金字塔融合。那是我第一次意识到,原来神经网络中的特征还能像调鸡尾酒一样混合搭配。简…...
从分子结构到智能药物发现:RDKit化学信息学实战指南
从分子结构到智能药物发现:RDKit化学信息学实战指南 【免费下载链接】rdkit The official sources for the RDKit library 项目地址: https://gitcode.com/gh_mirrors/rd/rdkit 化学信息学正在彻底改变药物研发的范式,而RDKit作为这一领域的瑞士军…...
