對於什麼是libuv,大家可以在其官網上了解,主要是這一句話,libuv is a multi-platform support library with a focus on asynchronous i/o,libuv是乙個支援多平台的庫,專注於非同步i / o。 接下來記錄一下在ubuntu18.04系統下安裝流程。
支援epoll,kqueue,iocp,事件埠的全功能事件迴圈
非同步tcp和udp套接字
非同步dns解析
非同步檔案和檔案系統操作
檔案系統事件
ansi轉義碼控制tty
ipc與套接字共享,使用unix域套接字或命名管道(windows)
子程序執行緒池
訊號處理
高精度的時鐘(high resolution clock)
執行緒和同步原子性(threading and synchronization primitives)
先安裝編譯環境,依次執行如下命令,如果系統缺少什麼就安裝:
root@ubuntu:
~/dev# sudo apt install autoconf
root@ubuntu:
~/dev# sudo apt install libtool
編譯,依次執行如下命令:
//解壓
root@ubuntu:
~/dev# tar -zxvf v1.x.tar.gz
root@ubuntu:
~/dev# cd libuv-
1.xroot@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
#include
#include
"include/uv.h"
intmain()
編譯及鏈結
root@ubuntu:
~/dev/demo# gcc -c demo1.c -o demo1 /usr/local/lib/libuv.so
然後執行程式,如果前面沒有錯誤,則得到如下結果
root@ubuntu:
~/dev/demo# .
/demo1
now quitting.
ubuntu下面編譯libuv
github上面對於編譯的描述是這樣的 sh autogen.sh configure make make check make install嗯,正常情況下是這樣就可以的,然而如果你是一台新機的話,可能會遇到幾個錯誤。錯誤1 執行 sh autogen.sh的時候,提示bash autogen.s...
Ubuntu下安裝GTK庫
首先確保您已經安裝了編譯工具包 gcc g gdb make等 ubunto預設是沒有安裝這些的 sudo apt get install build essential下面安裝libgtk2.0 dev libglib2.0 dev 等開發相關的庫檔案 sudo apt get install g...
Ubuntu下安裝boost庫
安裝環境 ubuntu 14.04 步驟 直接使用 apt get進行安裝 sudo apt get install libboost dev測試 include include boost lexical cast.hpp int main 這裡boost環境已經搭建好。另外,由於我直接使用apt...