node-gyp编译c++编写的node扩展

    node有一个模块addon,翻译过来,是插件,但是有的地方也叫扩展,这部分是用c++来编写的,最后可以通过node-gyp来针对各个平台编译适合自己平台的扩展,做到了跨平台。而编译后的这部分,node可以直接调用,无需额外代码。

    而通过node-gyp编译,在windows下,需要msbuild环境,可以直接安装visual studio 2017,也可以通过npm install -g windows-build-tools来安装,另外,还需要python环境,这个对python版本没有要求,只要有就可以。既然是node-gyp编译,自然需要全局安装node-gyp,最简单的还是npm install -g node-gyp。

    下面通过一个简单的示例来演示,node如何编译以及调用c++扩展。

     先准备一个c++代码,hello_world.cc

#include <node.h>

void Method(const v8::FunctionCallbackInfo<v8::Value>& args) {
  v8::Isolate* isolate = args.GetIsolate();
  args.GetReturnValue().Set(v8::String::NewFromUtf8(
      isolate, "world").ToLocalChecked());
}

void Initialize(v8::Local<v8::Object> exports) {
  NODE_SET_METHOD(exports, "hello", Method);
}

NODE_MODULE
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

luffy5459

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值