溫馨提示×

nodejs怎么調用c++動態庫

小億
350
2023-11-21 21:02:27
欄目: 編程語言

在Node.js中,可以使用node-ffi模塊來調用C++動態庫。

以下是一個使用node-ffi調用C++動態庫的示例:

首先,確保已安裝node-ffi模塊:

npm install ffi

然后創建一個JS文件,比如app.js,在該文件中編寫調用C++動態庫的代碼:

const ffi = require('ffi');

// 創建一個FFI對象,指定C++動態庫的路徑
const mylib = ffi.Library('./mylib.so', {
  // 定義需要調用的C++函數
  'add': ['int', ['int', 'int']]
});

// 調用C++函數
const result = mylib.add(2, 3);
console.log(result);

上述代碼中,ffi.Library()函數用于加載C++動態庫,并指定需要調用的函數的簽名。'./mylib.so'是C++動態庫的路徑,'add'是C++函數的名稱,['int', ['int', 'int']]是函數的返回類型和參數類型。

然后,編譯并生成C++動態庫,比如將以下C++代碼保存為mylib.cpp

extern "C" {
  int add(int a, int b) {
    return a + b;
  }
}

使用以下命令編譯生成C++動態庫mylib.so

g++ -shared -o mylib.so mylib.cpp

最后,在終端中運行node app.js命令,即可調用C++動態庫中的函數并輸出結果。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女