window

npm包

  1. 管理员身份运行powerShell/cmd,然后安装vs2017编译器以及python2.7.下面的指令会帮你下载安装。
    1. npm install --global --production windows-build-tools
    1. npm install -g node-gyp
    安装完毕,测试,控制台node-gyp list
    image.png

linux

一般自带python2.7 或者GCC .所以只要npm install -g node-gyp

小试牛刀。编写简单的c++扩展

准备binding.gyp

  1. {"targets":[
  2. {
  3. "target_name":"addon",
  4. "sources":["test.cc"]
  5. }
  6. ]
  7. }

准备test.cc

  1. #include <node.h>
  2. namespace demo{
  3. using v8::FunctionCallbackInfo;
  4. using v8::Isolate;
  5. using v8::Local;
  6. using v8::Object;
  7. using v8::String;
  8. using v8::Value;
  9. using v8::Number;
  10. void ExportMethodTest(const FunctionCallbackInfo<Value>& args){
  11. Isolate* isolate = args.GetIsolate();
  12. args.GetReturnValue().Set(String::NewFromUtf8(isolate, "hello world"));
  13. }
  14. void init(Local<Object> exports){
  15. NODE_SET_METHOD(exports, "hello", ExportMethodTest);
  16. }
  17. NODE_MODULE(addon, init)
  18. }

准备test.js

  1. const addon = require('./build/Release/addon.node');
  2. console.log(addon.hello());

首先binding.gyp目录执行 node-gyp build/rebuild详细使用,能看到build目录生成。
image.png
之后node test.js
image.png