visual studio開發nodejs的c++ addon

目前博客中講到開發nodejs c++ addon均是一筆帶過與nodejs官方文檔無異;急需要一篇能夠與現代編譯器結合的方式開發c++ addon。本文使用visual studio開發nodejs c++插件,不需要使用node-gyp(這玩意好像已經停止更新了,還要求你用python 2.7), 通過配置visual studio使得開發nodejs c++插件像IDEA寫Java那樣有着智能的提示,人性化的開發環境!

下載nodejs源碼進行編譯

https://github.com/nodejs/node/releases 下載一個stable版的nodejs源碼包到指定系統位置,然後解壓,加壓後如下圖(部分內容)。
在解壓的位置進行編譯執行 vcbuild.bat debug nosign x86 (時間有點長,根據電腦配置有關)
在這裏插入圖片描述

配置系統環境變量

在這裏插入圖片描述

visual studio項目中添加nodejs c++ addon項目
VS識別include文件中的頭文件

新建一個visual studio的visual c++的console項目,新建src和include目錄。通過配置src中的cpp可以自動識別到include目錄中的頭文件。
在這裏插入圖片描述
點擊如下圖中的按鈕或者通過項目的properties也可以
在這裏插入圖片描述
自動引入include中的文件,編寫include頭文件就可以編譯器就可以自動識別到。
在這裏插入圖片描述

配置編譯成項目的類型

配置類型選擇成dll動態連接庫類型
在這裏插入圖片描述
目標文件的擴展名改爲編譯成 .node,在nodejs的c++模塊中 .node 其實就是一個動態動態鏈接庫,跟windows中的dll,Linux中so文件一樣。
在這裏插入圖片描述
配置Linker中的其他依賴加上 node.lib
在這裏插入圖片描述
添加nodejs的c++開發環境依賴,Include Directories和Library Directories目錄添加對應的依賴庫。
在這裏插入圖片描述
分別引入已經編譯完成nodejs源碼包相應的目錄,我的nodejs目錄下載在 C:\workspace\github\node-14.4.0 目錄下;當然你也可以安裝在別的位置。如下圖 Include Directories 所需要添加的路徑。
在這裏插入圖片描述
Library Directories 添加的庫依賴
在這裏插入圖片描述
查看IDE的編輯環境,如下圖沒有標記紅線的代碼出現,很清爽。
在這裏插入圖片描述
那麼需要再對代碼進行build,出現========== Rebuild All: 1 succeeded, 0 failed, 0 skipped ==========表示編譯成功。
在這裏插入圖片描述

js驗證調用生成的c++ addon

首先要保證兩個條件

  1. nodejs源碼依據x86還是x64的CPU架構編譯出來的;visual stuio開發c++ addon時也選擇對應的CPU架構
    vcbuild.bat debug nosign x86 這裏的x86要與visual studio中的x86一致,否則編譯不通過
    在這裏插入圖片描述

  2. 爲了排除干擾,使用js調用編譯完成的c++ addon時,需要臨時更換nodejs運行環境,如下我已經把nodejs運行環境換成了源碼編譯出的nodejs。
    在這裏插入圖片描述
    完成這些就可以直接在js中調用addon了,成功打印出來了
    在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章