原文:淺析libuv源碼-編譯啟動

面試的間隙回頭復習了一下node,感覺node就像一個膠帶,把V 和libuv粘在了一起。 V 毫無疑問,負責解析執行JavaScript,相當於語言層面的橋梁 而libuv則是負責操作系統底層功能的封裝,例如基於IOCP的event loop file system non blockiong network等。簡單來說node將兩者結合在一起,賦予JS操作底層方法的能力,擴大了這門語言的應用 ...

2018-11-28 02:45 0 858 推薦指數:

查看詳情

淺析libuv源碼-node事件輪詢解析(1)

  好久沒寫東西了,過了一段咸魚生活,無意中想起了脈脈上面一句話: 始終保持自己的競爭力。所以,繼續開寫!   一般的JavaScript源碼看的已經沒啥意思了,我也不會寫什么xx入門新手教程,最終決定還是啃原來的硬骨頭,從外層libuv => node => v8一步步實現原有 ...

Tue May 07 04:30:00 CST 2019 2 421
淺析libuv源碼-node事件輪詢解析(3)

  好像博客有觀眾,那每一篇都畫個圖吧!   本節簡圖如下。   上一篇其實啥也沒講,不過node本身就是這么復雜,走流程就要走全套。就像曾經看webpack源碼,讀了300行代碼最后就為了取package.json里面的main屬性,導致我直接棄坑了,垃圾源碼看完對腦子沒一點 ...

Sat May 11 03:13:00 CST 2019 0 466
淺析libuv源碼-獲取精確時間

  在Timer模塊中有提到,libuv控制着延遲事件的觸發,那么必須想辦法精確控制時間。   如果是JS,獲取當前時間可以直接通過Date.now()得到一個時間戳,然后將兩段時間戳相減得到時間差。一般情況下當然沒有問題,但是這個方法並不保險,因為本地計算機時間可以修改。   libuv顯然 ...

Fri Dec 07 11:04:00 CST 2018 0 1089
編譯libuv

windows:   安裝python   安裝gyp     gyp是google的項目項目構建工具。下載地址https://github.com/turbulenz/gyp,下載解壓縮后,在文件夾中運行setup.py install就安裝好了   編譯libuv ...

Wed Feb 01 02:20:00 CST 2017 0 1590
libuv源碼分析(1)

libuv我在今年四月份的時候開始接觸,一開始也遇到了很多坑,但后來理解並遵守了它的設計思想,一切就變得很方便。這幾天開始着手精讀它的源碼,本着記錄自己的學習痕跡,也希望能增加別人搜索相關問題結果數的目的,因此就有了這些東西,這個系列至少會有四篇,后續再說吧。 那么它是什么,一個高效輕量的跨平台 ...

Sat Jul 16 10:47:00 CST 2016 1 8182
libuv的交叉編譯

libuv的交叉編譯 希望在arm linux下研究libuv,首先需要解決libuv編譯問題,在Linux機器上交叉編譯libuv來。 1.環境 Host環境:Ubuntu 18.04.5 (PC) 編譯工具鏈:arm-himix200-linux(解包 ...

Tue Nov 23 00:02:00 CST 2021 0 791
libuv源碼分析(2)

這一篇來分析libuv的四個特殊的持續請求(uv_handle_t族),uv_idle_t,uv_check_t,uv_prepare_t,uv_async_t。它們直接以強類型保存在uv_loop_t中,而不像其它的持續請求保存在handle_queue中,也是最簡單的持續請求。 在實現中 ...

Tue Jul 19 23:56:00 CST 2016 0 3675
如何從源碼啟動編譯IoTSharp

IoTSharp 項目是一個開源物聯網平台,數據庫使用PostgreSQL , 后端使用 Asp.Net Core 2.2 ,前端使用 vue-element-admin , 下面我們介紹如何啟動項目。 1、安裝數據庫, 根據你的系統,前往 https ...

Wed Jun 26 01:22:00 CST 2019 0 749
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM