微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Electron + node C++开发

node-gyp

Electron C++,使用nan

npm install -g prebuild node-gyp electron

npm install nan bindings --save

#include <nan.h>

void Add(const Nan::FunctionCallbackInfo<v8::Value>& info) {

  if (info.Length() < 2) {

    Nan::ThrowTypeError("Wrong number of arguments");

    return;

  }

  if (!info[0]->IsNumber() || !info[1]->IsNumber()) {

    Nan::ThrowTypeError("Wrong arguments");

    return;

  }

  double arg0 = info[0]->NumberValue();

  double arg1 = info[1]->NumberValue();

  v8::Local<v8::Number> num = Nan::New(arg0 + arg1);

  info.GetReturnValue().Set(num);

}

void Init(v8::Local<v8::Object> exports) {

  exports->Set(Nan::New("add").ToLocalChecked(),

               Nan::New<v8::FunctionTemplate>(Add)->GetFunction());

}

NODE_MODULE(demo, Init)

用C++扩展Electron(node-nan版)_Linux mobile development & HTML5 Games/App-CSDN博客

一个node-gyp的配置文件(文件名固定为binding.gyp),用来编译C++代码

{

  "targets": [

    {

      "target_name": "demo",

      "sources": [ "native/demo.cc" ],

      "include_dirs": [

        "<!(node -e \"require('nan')\")"

      ]

    }

  ]

}

node-gyp configure

prebuild -t 12.0.7 -r electron

12.0.7为electron版本号

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐