使用VS2017开发node C++插件

2017-07-27  本文已影响488人  星月西

1.简介

Node.js 插件是用 C++ 编写的动态链接共享对象,可以使用 require() 函数加载到 Node.js 中,且像普通的 Node.js 模块一样被使用。 它们主要用于为运行在 Node.js 中的 JavaScript 与 C/C++ 库之间提供接口。

2.准备工作

1.安装vs2017,需要安装VC++相关模块
2.安装python2.7,需要加入环境变量
3.在node官网下载最新的node源代码

3.配置开发环境

vcbuild

等一段时间即可完成node源代码的编译,编译后的可执行文件和库文件在Release目录下,头文件在src目录下

4.测试

可以为项目中添加一下两个文件

//main.cpp

#include <node.h>

namespace demo {
    using v8::FunctionCallbackInfo;
    using v8::Isolate;
    using v8::Local;
    using v8::Object;
    using v8::String;
    using v8::Value;

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

    //初始化函数
    void init(Local<Object> exports) {
        //导出Method方法,重命名为hello
        NODE_SET_METHOD(exports, "hello", Method);
    }

    //模块名为addon
    NODE_MODULE(addon, init)
}
//index.js

var start = require('../x64/Debug/start');
console.log(start.hello());

接着执行即可看到命令行中出现执行结果,relaxing

上一篇下一篇

猜你喜欢

热点阅读