C/C++教程

Electron + node C++开发

本文主要是介绍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版本号

这篇关于Electron + node C++开发的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!