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