zoukankan      html  css  js  c++  java
  • 用C++扩展node.js(node-ffi版)

    用C++扩展node.js(node-nan版)

    0.先安装node.js和python(2.7)。请参考:

    1.新建一个demo项目: 创建demo目录,并进入其中,然后运行下面命令。

    mkdir demo
    cd  demo
    npm 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-gyp
    npm 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.dylib
    clean:
        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

    参考:

  • 相关阅读:
    python基础练习5-9
    python安装
    python虚拟环境
    python基础语法--逻辑实现
    python基础语法
    IDE(vscode)
    pycharm使用
    复习
    环境搭建+python基础
    ASP.NET 5行代码搞二维码
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13333006.html
Copyright © 2011-2022 走看看