国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C++ > 正文

用C++編寫擴展node.js(node-ffi版)

2020-01-26 13:37:06
字體:
來源:轉載
供稿:網友

用C++擴展node.js(node-ffi版)

0.先安裝node.js和python(2.7)。請參考:

https://nodejs.org/
https://www.python.org

1.新建一個demo項目: 創建demo目錄,并進入其中,然后運行下面命令。

mkdir democd demonpm init

運行npm init時,之后會生成一個package.json(具體內容與輸入參數有關):

{ "name": "demo", "version": "1.0.0", "description": "a demo for node call native functions", "main": "demo.js", "scripts": {  "test": "echo /"Error: no test specified/" && exit 1" }, "keywords": [  "node" ], "author": "Li XianJing", "license": "ISC"}

2.安裝編譯工具和頭文件。

sudo npm install -g node-gypnpm install ffi bindings --save

3.用C++編寫原生代碼( 為了讓目錄結構整潔一點,我們把代碼放到native只目錄下)。

下面的文件(native/demo.cc),添加一個Add方法,計算兩個數之和:

double Add(double a, double b) {  return a+b;}

4.寫一個Makefile(native/Makefile), 用來編譯C++代碼。

all:  $(CC) -g -shared demo.c -o libdemo.dylibclean:  rm -frv libdemo*

5.編寫一個JS文件(demo.js)),讓它調用原生代碼。

var ffi = require('ffi');var demo = ffi.Library('./native/libdemo', { 'Add': [ 'double', [ 'double', 'double'] ]});console.log(demo.Add(12345, 54321));

7.編譯C++程序。

make -C native

8.運行JS代碼,看看是否工作。

node demo.js

參考:

node-ffi

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對武林網的支持。如果你想了解更多相關內容請查看下面相關鏈接

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 德惠市| 玉屏| 江门市| 讷河市| 敖汉旗| 武胜县| 宁津县| 白沙| 阿尔山市| 八宿县| 平湖市| 石林| 南昌县| 玛沁县| 霍城县| 宁蒗| 梅州市| 建德市| 印江| 夏津县| 柳州市| 会昌县| 泾源县| 栖霞市| 麦盖提县| 遂川县| 江油市| 台南市| 承德市| 丹东市| 铜陵市| 湘潭市| 正宁县| 吉安市| 昌黎县| 永德县| 新绛县| 永新县| 上杭县| 喜德县| 宜州市|