Libuv中文文档序言

转载 2016年08月31日 16:32:49

Libuv中文文档序言

文章目录

本书由一系列 libuv 教程组成, libuv 是一个高性能事件驱动的程序库,封装了 Windows 和 Unix 平台一些底层特性,为开发者提供了统一的 API。

本书旨在涵盖 libuv 的主要特性, 并不是一份完整介绍 libuv 内部每个 API 和数据结构的指南,官方文档 official libuv documentation 可以直接在 libuv 源码提供的头文件中找到。

本书还没有完成,某些章节可能不完整,但我希望在我不断完善本书同时,你也能够从中获益。

本书为谁而写?

如果你正在阅读本书,你或许是:

  1. 系统开发人员, 编写一些诸如守护进程(daemons), 网络服务程序或者客户端等底层应用, 你发现 libuv 的事件循环方式适合你的应用场景, 因此你决定使用 libuv。
  2. Node.js 某一模块的作者, 决定使用 C/C++ 封装系统平台某些同步或者异步 API, 并将其暴露给 Javascript, 你可以在 node.js 上下文中只使用 libuv, 但你也需要参考其他资源, 因为本书并没有包括 v8/node.js 相关的内容。

本书假设你对 C 语言有了一定的了解。

背景

node.js 最初发起于 2009 年, 是一个可以让 Javascript 代码脱离浏览器的执行环境, libuv 使用了 Google 的 V8 执行引擎 和 Marc Lehmann 的 libev. Node.js 将事件驱动的 I/O 模型与适合该模型的编程语言(Javascript)融合在了一起,随着 node.js 的日益流行,node.js 的开发者们也意识到应该让 node.js 在 Windows 平台下也能工作,但是 libev 只能在 Unix 环境下运行。

Windows 平台上与 kqueue(FreeBSD) 或者 (e)poll(Linux) 等内核事件通知相应的机制 是 IOCP、libuv 依据不同平台的特性(Unix 平台为 libev、Windows 平台为 IOCP) 给上层应用提供了统一基于 libev API 的抽象,不过 node-v0.9.0 版本的 libuv 中 libev 的依赖已被移除,参见: libev has been removed libuv 直接与 Unix 平台交互。

本书代码

本书所有代码均可以在 Github 上获取。Clone/Download 本书源码,然后进入到 code/ 目录执行 make 编译本书的例子,书中的代码基于 node-v0.9.8 版本的 libuv,为了方便读者学习,本书的源码中也附带了相应版本的 libuv,你可以在 libuv/ 目录中找到源码,libuv 会在你编译书中的例子时被自动编译。

关于Libuv中文文档

libuv文档
  • wangcg123
  • wangcg123
  • 2016年08月31日 16:31
  • 855

Libuv中文文档之进程

libuv
  • wangcg123
  • wangcg123
  • 2016年08月31日 16:38
  • 1254

Libuv中文文档之基础编程

libuv文档
  • wangcg123
  • wangcg123
  • 2016年08月31日 16:33
  • 430

libuv中文API手册(1)

官方文档URL官方文档链接点我点我点我1. 概述 libuv是一个支持多平台的异步IO库。它主要是为了node.js而开发的,但是也可以用于Luvit, Julia, pyuv及其他软件。 ...
  • gx_1983
  • gx_1983
  • 2016年04月02日 21:38
  • 1456

Libuv中文文档网络接口

libuv文档
  • wangcg123
  • wangcg123
  • 2016年08月31日 16:35
  • 1155

Libuv中文文档文件管理

libuv文档
  • wangcg123
  • wangcg123
  • 2016年08月31日 16:35
  • 509

Libuv中文文档之线程

libuv
  • wangcg123
  • wangcg123
  • 2016年08月31日 16:37
  • 1766

【USACO2.2.1】序言页码

这题还是挺有意思的~ 但是会发现,其实每一位的情况都是一样的,只需要考虑个位的0,1,2,3,4,5,6,7,8,9的情况下, 1, 5, 10的使用情况。 然后在两位数的时候,十位的情况...
  • baidu_23081367
  • baidu_23081367
  • 2015年02月03日 16:01
  • 385

libuv异步实现分析

我们都知道libuv是异步非阻塞的,那么它究竟是如何实现异步的呢? Libuv中文编程指南上如是说 libuv提供的文件操作和 socket operations 并不相同. 套接字操作使用...
  • baidu20008
  • baidu20008
  • 2014年10月15日 17:27
  • 2330

libuv windows 下编译及使用出现的问题

1. 下载源码:http://dist.libuv.org/dist/     我下载的是 v1.8.0 版本,打开可看见四个文件,如下:     说明:.tar.gz 版本的是可以在Li...
  • lc250123
  • lc250123
  • 2017年01月06日 11:23
  • 1485
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Libuv中文文档序言
举报原因:
原因补充:

(最多只允许输入30个字)