前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Windows端C/C++基于Visual Studio快速使用libuv库

Windows端C/C++基于Visual Studio快速使用libuv库

原创
作者头像
晨星成焰
发布2024-10-09 20:00:07
1520
发布2024-10-09 20:00:07
举报
文章被收录于专栏:网络编程

什么是libuv库?

libuv 是一个跨平台的异步 I/O 库,最初是为了 Node.js 而开发的,但现在已经独立出来,并被广泛应用于各种 C/C++ 应用程序中。libuv 提供了一套用于构建高性能网络应用程序的工具集,支持事件驱动的编程模型,可以用于开发服务器端的应用程序,如 Web 服务器、代理服务器、实时通信服务等。

Node.js调用示例:

事件循环的效果示例:

下载

去libuv的git链接下载

libuv/libuv: Cross-platform asynchronous I/O (github.com)

可以选择默认的v1.x版本下载

也可以选择最新的v1.45.x分支下载

这里选择的是v1.45.x,接着下载

下载安装包后解压缩放在任意位置

VS相关操作

将解压缩后的文件拖拽置VS编译器应用图标

如图所示

等待VS加载项目至完成直至运行这里有uv.dll

没有uv.dll的可以手动点图片里uv.dll右边的小三角选择这个选项

接着VS->生成->全部生成

等待生成完成后去项目根目录 找到out文件一路点到最深处

找到生成的uv.dll和uv.lib

相关项目加载libuv库

创造一个新项目用来测试加载libuv库

引入之前找到的uv.lib和uv.dll文件至项目所在目录

引入libuv的头文件至项目所在目录-这里选择创造一个include文件夹存储

找到解压缩的libuv文件夹里的include文件夹将里面的文件拷贝到测试项目的include文件夹

基本的文件引入完成了,只需要再配置一下就好了

一些VS配置

附加包含目录

附加库目录

附加依赖项

代码测试libuv库是否引入成功

创造一个.cpp文件

示例代码摘自官方文档

代码语言:cpp
复制
#include <stdio.h>
#include <stdlib.h>
#include <uv.h>

int main() 
{
	uv_loop_t* loop = (uv_loop_t*)malloc(sizeof(uv_loop_t));
	uv_loop_init(loop);

	printf("Now quitting.\n");
	uv_run(loop, UV_RUN_DEFAULT);

	uv_loop_close(loop);
	free(loop);
	return 0;
}

此程序立即退出,因为它没有要处理的事件。一个 libuv 必须告诉 event 循环使用各种 API 来注意事件 功能。

运行成功

libuv的一些示例demo在哪里?

找到下载并且解压缩的目录

以1.45x版本为例

libuv-1.45.x\docs\code

这里有许多libuv提供的使用demo可以自行研究学习

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 什么是libuv库?
  • 下载
  • VS相关操作
  • 相关项目加载libuv库
    • 创造一个新项目用来测试加载libuv库
      • 引入之前找到的uv.lib和uv.dll文件至项目所在目录
      • 引入libuv的头文件至项目所在目录-这里选择创造一个include文件夹存储
      • 一些VS配置
    • 代码测试libuv库是否引入成功
    • libuv的一些示例demo在哪里?
    相关产品与服务
    云服务器
    云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档