当前位置: 首页 > news >正文

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地址&#xff1a;https://github.com/libevent/libevent 步骤1&#xff1a;首先&#xff0c;你需要下载libevent的源代码。你可以从github或者源代码官方网站下载。并上传至/usr/local/source_code/ 步骤2&#xff1a;下载完成后&…...

枚举 B. Lorry

Problem - B - Codeforces 题目大意&#xff1a;给物品数量 n n n&#xff0c;体积为 v ( 0 ≤ v ≤ 1 e 9 ) v_{(0 \le v \le 1e9)} v(0≤v≤1e9)​&#xff0c;第一行读入 n , v n, v n,v&#xff0c;之后 n n n行&#xff0c;读入 n n n个物品&#xff0c;之后每行依次是体…...

ON1 Photo RAW 2024 for Mac——专业照片编辑的终极利器

ON1 Photo RAW 2024 for Mac是一款专为Mac用户打造的照片编辑器&#xff0c;以其强大的功能和易用的操作&#xff0c;让你的照片编辑工作变得轻松愉快。 一、强大的RAW处理能力 ON1 Photo RAW 2024支持大量的RAW格式照片&#xff0c;能够让你在编辑过程中获得更多的自由度和更…...

从word复制内容到wangEditor富文本框的时候会把html标签也复制过来,如果只想实现直接复制纯文本,有什么好的实现方式

从word复制内容到wangEditor富文本框的时候会把html标签也复制过来&#xff0c;如果只想实现直接复制纯文本&#xff0c;有什么好的实现方式&#xff1f; 将 Word 中的内容复制到富文本编辑器时&#xff0c;常常会带有大量的 HTML 标签和样式&#xff0c;这可能导致不必要的格式…...

项目中如何配置数据可视化展现

在现今数据驱动的时代&#xff0c;可视化已逐渐成为数据分析的主要途径&#xff0c;可视化大屏的广泛使用便应运而生。很多公司及政务机构&#xff0c;常利用大屏的手段展现其实力或演示业务&#xff0c;可视化的效果能让观者更快速的理解结果并直观的看到数据展现。因此&#…...

ArkUI开发进阶—@Builder函数@BuilderParam装饰器的妙用与场景应用

ArkUI开发进阶—@Builder函数@BuilderParam装饰器的妙用与场景应用 HarmonyOS,作为一款全场景分布式操作系统,为了推动更广泛的应用开发,采用了一种先进而灵活的编程语言——ArkTS。ArkTS是在TypeScript(TS)的基础上发展而来,为HarmonyOS提供了丰富的应用开发工具,使开…...

大语言模型概述(三):基于亚马逊云科技的研究分析与实践

上期介绍了基于亚马逊云科技的大语言模型相关研究方向&#xff0c;以及大语言模型的训练和构建优化。本期将介绍大语言模型训练在亚马逊云科技上的最佳实践。 大语言模型训练在亚马逊云科技上的最佳实践 本章节内容&#xff0c;将重点关注大语言模型在亚马逊云科技上的最佳训…...

键入网址到网页显示,期间发生了什么?

文章目录 键入网址到网页显示&#xff0c;期间发生了什么&#xff1f;1. HTTP2. 真实地址查询 —— DNS3. 指南好帮手 —— 协议栈4. 可靠传输 —— TCP5. 远程定位 —— IP6. 两点传输 —— MAC7. 出口 —— 网卡8. 送别者 —— 交换机9. 出境大门 —— 路由器10. 互相扒皮 —…...

深度学习基于Python+TensorFlow+Django的水果识别系统

欢迎大家点赞、收藏、关注、评论啦 &#xff0c;由于篇幅有限&#xff0c;只展示了部分核心代码。 文章目录 一项目简介简介技术组合系统功能使用流程 二、功能三、系统四. 总结 一项目简介 # 深度学习基于PythonTensorFlowDjango的水果识别系统介绍 简介 该水果识别系统基于…...

vs动态库生成过程中还存在静态库

为什么VS生成动态库dll同时还会生成lib静态库 动态库与静态库&#xff08;Windows环境下&#xff09; ​ 动态库和静态库都是一种可执行代码的二进制形式&#xff0c;可以被操作系统载入内存执行。 ​ 静态库实际上是在链接时被链接到exe的&#xff0c;编译后&#xff0c;静态…...

P13 C++ 类 | 结构体内部的静态static

目录 01 前言 02 类内部创建静态变量的例子 03 在类的内部创建静态变量的作用 04 最后的话 01 前言 本期我们讨论 static 在一个类或一个结构体中的具体情况。 在几乎所有面向对象的语言中&#xff0c;静态在一个类中意味着特定的东西。这意味着在类的所有实例中&#xff…...

【腾讯云云上实验室-向量数据库】Tencent Cloud VectorDB在实战项目中替换Milvus测试

为什么尝试使用Tencent Cloud VectorDB替换Milvus向量库&#xff1f; 亮点&#xff1a;Tencent Cloud VectorDB支持Embedding&#xff0c;免去自己搭建模型的负担&#xff08;搭建一个生产环境的模型实在耗费精力和体力&#xff09;。 腾讯云向量数据库是什么&#xff1f; 腾…...

git clone -mirror 和 git clone 的区别

目录 前言两则区别git clone --mirrorgit clone 获取到的文件有什么不同瘦身仓库如何选择结语开源项目 前言 Git是一款强大的版本控制系统&#xff0c;通过Git可以方便地管理代码的版本和协作开发。在使用Git时&#xff0c;常见的操作之一就是通过git clone命令将远程仓库克隆…...

基于51单片机的公交自动报站系统

**单片机设计介绍&#xff0c; 基于51单片机的公交自动报站系统 文章目录 一 概要公交自动报站系统概述工作原理应用与优势 二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 很高兴为您介绍基于51单片机的公交自动报站系统&#xff1a; 公交自动报…...

NextJS开发:Image组件的使用及缺陷

Next.js 中的 Image 组件相比于传统的 img 标签有以下几个优点&#xff1a; 懒加载&#xff1a;Image 组件自带懒加载&#xff0c;当页面滚动到 Image 组件所在位置时才会加载图片&#xff0c;从而加快页面的渲染速度。自动优化&#xff1a;Image 组件会自动将图片压缩、转换格…...

网络安全面试经历

2023-11-22 X亭安全服务实习生面试 一面&#xff1a; 工作方向&#xff1a;偏蓝队 总结&#xff1a;实习蓝队面试没有什么难度&#xff0c;没有什么技术上的细节问题&#xff0c;之前准备的细节问题没有考 最后和面试官聊了聊对网安的认识&#xff0c;聊了聊二进制的知识…...

Rust语言入门教程(四) - 数据类型

标量类型(Scalar Types) 在Rust中&#xff0c;一共有4中标量类型&#xff0c; 也就是基本数据类型&#xff0c;分别是&#xff1a; 整型&#xff08;Integers&#xff09;浮点型&#xff08;Floats&#xff09;布尔型&#xff08;Boolean&#xff09;字符型&#xff08;Chara…...

华为云人工智能入门级开发者认证学习笔记

人工智能入门级开发者认证 人工智能定义 定义 人工智能 (Artificial Intelligence) 是研究、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。 强人工智能 vs 弱人工智能 强人工智能&#xff1a;强人工智能观点认为有可能制造出真正能推理&#xff08…...

腾讯云发布新一代基于AMD处理器的星星海云服务器实例SA5

基础设施的硬实力&#xff0c;愈发成为云厂商的核心竞争力。 11月24日&#xff0c;腾讯云发布了全新一代星星海服务器。基于自研服务器的高密设计与硬件升级&#xff0c;对应云服务器SA5是全球首家搭载第四代AMD EPYC处理器&#xff08;Bergamo&#xff09;的公有云实例&#…...

算法通关村-----数论问题解析

最大公约数和最小公倍数 概念描述 最大公约数&#xff08;GCD&#xff09;是指两个或多个整数共有约数中的最大值。 最小公倍数&#xff08;LCM&#xff09;是指两个或多个整数共有的倍数中的最小值 方法介绍 碾转相除法 一种用于计算两个整数的最大公约数&#xff08;GCD…...

从Wi-Fi路由器到智能音箱:空间FFT(DOA)在消费电子中的实战应用与避坑指南

从Wi-Fi路由器到智能音箱&#xff1a;空间FFT&#xff08;DOA&#xff09;在消费电子中的实战应用与避坑指南 当你对着智能音箱喊"播放音乐"时&#xff0c;它总能准确识别你的位置并定向拾音&#xff1b;当Wi-Fi路由器自动优化信号覆盖时&#xff0c;它其实在默默计算…...

漫画下载神器终极指南:轻松离线阅读8大平台漫画

漫画下载神器终极指南&#xff1a;轻松离线阅读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总让你头疼&#xff1f; 每次调用BAPI_SALESORDER_CREATEFROMDAT2创建销售订单时&#xff0c;是不是总有种"明明参数都填了&#xff0c;为什么还是报错"的无力感&#xff1f;这个BAPI就像个挑剔的美食家&#xff0c;少放一粒…...

music21节奏与时长管理:精确控制音乐时间要素

music21节奏与时长管理&#xff1a;精确控制音乐时间要素 【免费下载链接】music21 music21: a Toolkit for Computer-Aided Musical Analysis and Computational Musicology 项目地址: https://gitcode.com/gh_mirrors/mu/music21 在音乐创作和分析中&#xff0c;节奏与…...

AGI验证不是“加个测试集”那么简单:基于27个真实事故案例的12项反模式清单

第一章&#xff1a;AGI验证的本质挑战与范式跃迁 2026奇点智能技术大会(https://ml-summit.org) AGI验证远非传统软件测试或模型评估的简单延伸&#xff0c;其核心困境在于&#xff1a;验证对象本身缺乏稳定定义、可穷举行为边界与可判定终止条件。当系统具备跨域元认知、自主…...

DFIG_Wind_Turbine:基于MATLAB/Simulink的矢量控制双馈异步风力发...

DFIG_Wind_Turbine&#xff1a;基于MATLAB/Simulink的双馈异步风力发电机仿真模型&#xff0c;控制方案采用矢量控制&#xff0c;电机的有功功率和无功功率由转子侧变换器控制仿真条件&#xff1a;MATLAB/Simulink R2015b最近在研究风力发电机的控制方案&#xff0c;发现双馈异…...

Gemini电脑版下载(gemini电脑下载)

Gemini 是由 Google 开发的一款原生桌面端人工智能助手&#xff0c;它是 Google 历代 AI 技术&#xff08;如 Bard&#xff09;的集大成者。如果你在日常工作中需要高频率调用 AI 来处理复杂任务&#xff0c;特别是那些涉及跨应用协同或海量数据分析的需求&#xff0c;那么 Gem…...

低成本GPU部署方案:Ostrakon-VL扫描终端显存优化与Smart Resizing详解

低成本GPU部署方案&#xff1a;Ostrakon-VL扫描终端显存优化与Smart Resizing详解 1. 项目背景与核心价值 在零售与餐饮行业数字化转型浪潮中&#xff0c;视觉识别技术正发挥着越来越重要的作用。然而传统解决方案往往面临两大痛点&#xff1a;一是工业级UI设计过于沉闷&…...

特征融合实战:从Concat/Add到Attention的演进与选型

1. 特征融合的基础概念与核心价值 第一次接触特征融合这个概念时&#xff0c;我正为一个目标检测项目焦头烂额。当时模型对小物体检测效果特别差&#xff0c;前辈建议我试试特征金字塔融合。那是我第一次意识到&#xff0c;原来神经网络中的特征还能像调鸡尾酒一样混合搭配。简…...

从分子结构到智能药物发现:RDKit化学信息学实战指南

从分子结构到智能药物发现&#xff1a;RDKit化学信息学实战指南 【免费下载链接】rdkit The official sources for the RDKit library 项目地址: https://gitcode.com/gh_mirrors/rd/rdkit 化学信息学正在彻底改变药物研发的范式&#xff0c;而RDKit作为这一领域的瑞士军…...