最近2018中文字幕在日韩欧美国产成人片_国产日韩精品一区二区在线_在线观看成年美女黄网色视频_国产精品一区三区五区_国产精彩刺激乱对白_看黄色黄大色黄片免费_人人超碰自拍cao_国产高清av在线_亚洲精品电影av_日韩美女尤物视频网站

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
用C++編寫擴(kuò)展node.js(node-ffi版)

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

創(chuàng)新互聯(lián)是一家專注于成都網(wǎng)站制作、成都做網(wǎng)站與策劃設(shè)計(jì),下城網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)十余年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:下城等地區(qū)。下城做網(wǎng)站價(jià)格咨詢:18980820575

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

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

1.新建一個(gè)demo項(xiàng)目: 創(chuàng)建demo目錄,并進(jìn)入其中,然后運(yùn)行下面命令。

mkdir demo
cd demo
npm init

運(yùn)行npm init時(shí),之后會(huì)生成一個(gè)package.json(具體內(nèi)容與輸入?yún)?shù)有關(guān)):

{
 "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-gyp
npm install ffi bindings --save

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

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

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

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

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

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

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.運(yùn)行JS代碼,看看是否工作。

node demo.js

參考:

node-ffi

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)創(chuàng)新互聯(lián)的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接


新聞標(biāo)題:用C++編寫擴(kuò)展node.js(node-ffi版)
文章源于:http://fisionsoft.com.cn/article/iiegps.html