使用gyp扩展编译工具编写node的c/c++插件(node自身源码就是使用GYP编译的)
node可以直接调用二进制的代码
一、安装环境
npm install -g node-gyp
2、python v2.7 (不支持v3.x.x)
3、安装xcode 命令行工具
命令行安装: xcode-select --install
xcode里安装: xcode -> Preferences -> Downloads
二、创建工程
1、创建binding.gyp文件
2、在nodejs工程里运行
node-gyp configure
会在build/目录下生成Makefile文件
3、编译
node-gyp build
- 把binding.gyp里配置的.c文件编译为.o文件
######编写c代码时 <node_api.h>和<node.h>的区别是,后者由于v8的内存限制,传递参数大小有所限制 并链接为js可以直接调用的.node文件
######由于编译器的不同,在windos和*nix下其实是.so和.dll
4、js调用方式const addon = require('./build/Release/addon');
console.log(addon.hello());
5、启动node查看效果
参考:
1、https://www.npmjs.com/package/node-gyp
2、http://nodejs.cn/api/addons.html#addons_building