1.libuv介绍


介绍:

这本“书”是一组关于如何使用libuv作为高性能事件I/O库的一系列小的教程,它在Windows和Unix上提供相同的API。

它将涵盖libuv的主要领域,但不是讨论每个函数和数据结构的全面参考。

这本书仍在进行中,所以部分可能不完整,但我希望你会喜欢它的成长。

谁需要了解libuv:

如果你正在读这本书,如果你是下列其中之一:

  1. 系统程序员,创建底层程序,如守护进程或网络服务和客户端。您已经发现事件循环方法非常适合您的应用程序,并决定使用libuv。
  2. 一个node.js模块编写者,他想将用C或c++编写的平台api与一组暴露于JavaScript的同步/异步api打包。您将纯粹在node.js的上下文中使用libuv。为此,你需要一些其他的资源,因为这本书没有涵盖特定于v8/node.js的部分。

注明:这本书假设你对C编程语言很熟悉。

背景:

node.js项目始于2009年,当时是一个与浏览器解耦的JavaScript环境。使用谷歌的V8和Marc Lehmann的libev, node.js结合了I/O模型-事件-语言非常适合编程风格;因为它被浏览器塑造的方式。随着node.js越来越流行,让它在Windows上工作很重要,但libev只能在Unix上运行。在Windows中,类似于kqueue或(e)poll的内核事件通知机制是IOCP。libuv是libev或IOCP的抽象,取决于平台,为用户提供一个基于libev的API。在libuv的node-v0.9.0版本中,libev被删除了。

从那时起,libuv不断成熟,并成为一个用于系统编程的高质量独立库。node.js之外的用户包括Mozilla的Rust编程语言和各种语言绑定。 本书及其代码基于libuv v1.3.0版本。

代码:

这本书的所有代码都包括在Github上作为这本书的源代码的一部分。复制/下载这本书,然后构建libuv:

1 cd libuv
2 ./autogen.sh
3 ./configure
4 make

不需要进行安装。要构建示例,请运行code/目录中的make。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM