libuv 是一个多平台支持库,专注于异步 I/O。它主要是为 Node.js 开发的,但它也被 Luvit、Julia、pyuv 以及 其他 使用。
由 epoll、kqueue、IOCP、事件端口支持的完整功能的事件循环。
异步 TCP 和 UDP 套接字
异步 DNS 解析
异步文件和文件系统操作
文件系统事件
受 ANSI 转义码控制的 TTY
通过 Unix 域套接字或命名管道 (Windows) 使用套接字共享进行 IPC
子进程
线程池
信号处理
高分辨率时钟
线程和同步原语
从版本 1.0.0 开始,libuv 遵循 语义版本控制 方案。API 变更和向后兼容性规则由 SemVer 指示。libuv 将在主要版本间保持稳定 ABIs。
位于 docs/ 子目录中。它使用 Sphinx 框架,这使得可以以多种格式构建文档。
显示不同的支持构建选项
$ make help
构建为 HTML 文档
$ make html
构建为 man 页面
$ make man
构建为 ePub
$ make epub
注意:Windows 用户需要使用 make.bat 而不是 plain 'make'。
文档可在以下网址在线浏览 here。
对于GCC,有两种构建方法:通过autotools或通过GYP。GYP是一个元构建系统,可以生成MSVS、Makefile和XCode后端。它最适合集成到其他项目中。
使用autotools构建
$ sh autogen.sh
$ ./configure
$ make
$ make check
$ make install
首先,必须安装Python 2.6或2.7,因为它需要GYP。如果python不在您的路径中,设置环境变量PYTHON
为其位置。例如:set PYTHON=C:\Python27\python.exe
要使用Visual Studio构建,请启动git shell(例如Cmd或PowerShell),并运行vcbuild.bat,这将检查GYP代码到build/gyp,并生成uv.sln以及相关的项目文件。
要让GYP为其他系统生成构建脚本,请手动将GYP检查到项目树中
$ git clone https://chromium.googlesource.com/external/gyp.git build/gyp
OR
$ svn co http://gyp.googlecode.com/svn/trunk build/gyp
运行
$ ./gyp_uv.py -f make
$ make -C out
运行./gyp_uv.py -f make -Dtarget_arch=x32
以构建[x32][]二进制文件。
运行
$ ./gyp_uv.py -f xcode
$ xcodebuild -ARCHS="x86_64" -project uv.xcodeproj \
-configuration Release -target All
使用Homebrew
$ brew install --HEAD libuv
注意:OS X用户
请确保在"ARCHS"标志中指定要构建的架构。您可以使用空格分隔来指定多个(例如:"x86_64 i386")。
运行
$ source ./android-configure NDK_PATH gyp
$ make -C out
对UNIX用户的提醒:使用-D_LARGEFILE_SOURCE
和-D_FILE_OFFSET_BITS=64
编译您的项目。GYP构建会自动处理。
运行
$ ./gyp_uv.py -f make
$ make -C out
$ ./out/Debug/run-tests
自Windows XP SP2以来的Microsoft Windows操作系统。可以使用Visual Studio或MinGW构建。如果您没有完整的Visual Studio许可证,请考虑使用Visual Studio Express 2010或更高版本。
使用GCC工具链的Linux。
使用GCC或XCode工具链的OS X。
Solaris 121及其以后版本使用GCC工具链。
请参阅贡献指南。