- 1、本文档共63页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
AnIntroductiontolibuv中文
libuv 入入入门门门
发发发布布布 1.0.0
作作作者者者 :::Nikhil Marathe 翻翻翻译译译 :::mingshun
2013 年 09 月 10 日
Contents
i
ii
CHAPTER 1
简简简介介介
本书是一个教程小集锦 ,内容 围绕 libuv 高性能事件 I/O 库 的使用 , libuv 在 Windows 和 Unix 下提供了一致
的 API 。
这意味着涵盖了 libuv 的主要方面 ,但不是一个讨论所有 函数及数据结构 的完整参考 。libuv 的官方文档 则
直接包含在 libuv 的头文件中 。
本书尚在写作 中,部分章节可能不完整 ,但我希望你会喜欢它 ,尽管它还在不断地完善中 。
1.1 适适适用用用本本本书书书的的的读读读者者者
如果你正在阅读本书 ,你可能是 :
1. 欲构建诸如守护进程或 网络服务及客户端等底层程序 的系统程序员 。你会发现事件循环 的动作方式很
适合你的应用程序并打算使用 libuv 。
2. 欲将 已用 C 或 C++ 编写的平台 API 以异步 API 封装起来并暴露给 JavaScript 的 node.js 模块编写人员 。
你只会在 node.js 上下文 中使用到 libuv 。你还将需要另外一些本书没有涉及 的与 v8/node.js 相关 的内
容 。
本书假设你 已经对 C 程序语言非常熟悉 。
1.2 背背背景景景
node.js 项 目始于 2009 年 ,是一个从浏览器上分离 出来 的 JavaScript 环境 。通过使用 Google 的 V8 和 Marc
Lehmann 的 libev ,node.js 将 I/O 模型与一种非常适合事件编程风格 的程序语言结合起来 ,这和浏览器 的结
合方式一样 。随着 node.js 的逐渐流行 ,让其支持 Windows 变得非常重要 ,可是 libev 只能在 Unix 上使用 。
在 Windows 下 ,类似于 kqueue 或 (e)poll 的内核事件通知机制为 IOCP 。libuv 是 libev 或 IOCP 在不同平台上
的抽象 ,提供给用户一套基于 libev 的 API 。在 node-v0.9.0 的 libuv 中, libev 已被移除了 。
其后 ,libuv 逐渐成熟为高品质 的系统程序库 。除了 node.js ,其用户还包含 Mozilla 的 Rust 程序语言及 各种
语言的绑定 。
第一个独立发布的 libuv 版本是 0.10.3 。
1
libuv 入入入门门门, 发发发布布布 1.0.0
1.3 示示示例例例代代代码码码
本书中的所有示例代码都包含在本书 GitHub 项 目上的 source 部分 中 。Clone/下载 本书并在 code/ 目录下
执行 make 以编译所有示例代码 。本书和示例代码都是基于 libuv v0.11.1 的 。 libuv/ 目录 中包含 了一个
libuv 的版本 。在编译示例代码的时候 ,libuv 代码会 自动被编译 。
2 Chapter 1. 简简简介介介
文档评论(0)