• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

用C++编写扩展node.js(node-ffi版)

c++ 搞代码 4年前 (2022-01-06) 27次浏览 已收录 0个评论

今天小编就为大家分享一篇关于用C++编写扩展node.js(node-ffi版),小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧

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

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

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

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

来源gao.dai.ma.com搞@代*码网

8.运行JS代码,看看是否工作。

node demo.js

参考:

node-ffi

总结

以上就是用C++编写扩展node.js(node-ffi版)的详细内容,更多请关注gaodaima搞代码网其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:用C++编写扩展node.js(node-ffi版)

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址