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.

總結

提供一下中文學習教程,如果寫的有問題,請留言指出。

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