Ubuntu18.04安裝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.
總結
提供一下中文學習教程,如果寫的有問題,請留言指出。