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

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

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

2020-05-23 13:24:18
字體:
來源:轉載
供稿:網友

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

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對VEVB武林網的支持。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 洛浦县| 临武县| 厦门市| 康平县| 杂多县| 平南县| 东辽县| 沧源| 得荣县| 张掖市| 加查县| 上杭县| 喀喇沁旗| 葫芦岛市| 育儿| 宜良县| 信宜市| 翁牛特旗| 铁岭市| 乌拉特后旗| 恩平市| 吴堡县| 新河县| 南阳市| 确山县| 正宁县| 中方县| 永清县| 连城县| 阿拉善左旗| 克什克腾旗| 佳木斯市| 海安县| 三明市| 佛山市| 五寨县| 白城市| 五寨县| 紫云| 英超| 蒲城县|