nodejs调用动态库so

系统环境:Centos7,python2.7

nodejs可以通过ffi调用c接口。

安装ffi:

1、npm install -g node-gyp,如果安装前提示ssl相关错误,则需先安装ssl,使用命令yum install openssll

2、npm install ffi bindings --save 安装模块到项目目录下

生成动态库:

1、编写测试文件

//add.c

int add(int a,int b) {

    rerturn a+b;

}


2、编写Makefile文件

all:
gcc -fPIC -shared  -o libdemo.so add.c
clean:
rm -frv libdemo*

3、编译动态库文件libdemo.so

4、添加动态库到搜索路径

echo pwd >> /etc/ld.so.conf

ldconfig

5、查看动态库是否添加到成功

ldd *

编写js测试文件:

1、测试文件

var ffi = require('ffi');
var demo = ffi.Library('libdemo',{'add':['int',['int','int']]});
console.log(new Date());
console.log(demo.add(123456789,987654321));
console.log(new Date());
其中, 'int',['int','int'],输出结果为整数,两个输入两个参数,均是整形。



你可能感兴趣的:(nodejs调用动态库so)