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

2024-10-09 20:00:07 浏览数 (3)

什么是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.xdocscode

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

0 人点赞