Ubuntu下安装libuv库教程

概述

对于什么是libuv,大家可以在其官网上了解,主要是这一句话,libuv is a multi-platform support library with a focus on asynchronous I/O,libuv是一个支持多平台的库,专注于异步I / O。 接下来记录一下在Ubuntu18.04系统下安装流程。

libuv特性

支持epoll,kqueue,IOCP,事件端口的全功能事件循环
异步TCP和UDP套接字
异步DNS解析
异步文件和文件系统操作
文件系统事件
ANSI转义码控制TTY
IPC与套接字共享,使用Unix域套接字或命名管道(Windows)
子进程
线程池
信号处理
高解析度时钟(High resolution clock)
线程和同步原子性(Threading and synchronization primitives)

下载并编译libuv

官方git仓库地址:https://github.com/libuv/libuv

先安装编译环境,依次运行如下命令,如果系统缺少什么就安装:

root@ubuntu:~/dev# sudo apt install autoconf
root@ubuntu:~/dev# sudo apt install libtool

编译,依次运行如下命令:

//下载最新版本
root@ubuntu:~/dev# wget https://github.com/libuv/libuv/archive/v1.x.tar.gz
//解压
root@ubuntu:~/dev# tar -zxvf libuv-1.x.tar.gz
root@ubuntu:~/dev# cd libuv-1.x

root@ubuntu:~/dev/libuv-1.x# sh autogen.sh
root@ubuntu:~/dev/libuv-1.x# ./configure
root@ubuntu:~/dev/libuv-1.x# make -j4
root@ubuntu:~/dev/libuv-1.x# make install
root@ubuntu:~/dev/libuv-1.x# ldconfig

安装完成,可以查看

root@ubuntu:/usr/local/lib# ls
libuv.a  libuv.la  libuv.so  libuv.so.1  libuv.so.1.0.0 python3.6

写测试代码

root@ubuntu:~/dev# mkdir demo
//拷贝源码下面的include到demo1目录下
root@ubuntu:~/dev/demo# cp -r /root/dev/livuv-1.x/include /root/dev/demo
root@ubuntu:~/dev/demo# ls
demo1.c include

写第一个libuv程序,demo1.c

#include <stdio.h>
#include <stdlib.h>
#include "include/uv.h"

int main() {
    uv_loop_t *loop = 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;
}

编译及链接

root@ubuntu:~/dev/demo# gcc -c demo1.c -o demo1 /usr/local/lib/libuv.so

然后执行程序,如果前面没有错误,则得到如下结果

root@ubuntu:~/dev/demo# ./demo1
Now quitting.

总结

提供一下中文学习教程,如果写的有问题,请留言指出。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章