博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C++编写Node.js插件(Addon)
阅读量:4922 次
发布时间:2019-06-11

本文共 1288 字,大约阅读时间需要 4 分钟。

     Google V8引擎的性能无用质疑,不过相对C/C++而言,还是有差距的,毕竟JavaScript是脚本语言。对于性能要求苛刻的可以考虑C++编写,本文介绍如何使用C++编写Node.js插件。

     第一步、编写C++代码

1 // hello.cc 2 #include 
3 4 namespace demo { 5 6 using v8::FunctionCallbackInfo; 7 using v8::Isolate; 8 using v8::Local; 9 using v8::Object;10 using v8::String;11 using v8::Value;12 13 void Method(const FunctionCallbackInfo
& args) {14 Isolate* isolate = args.GetIsolate();15 args.GetReturnValue().Set(String::NewFromUtf8(isolate, "world"));16 }17 18 void init(Local
exports) {19 NODE_SET_METHOD(exports, "hello", Method);20 }21 22 NODE_MODULE(addon, init)23 24 } // namespace demo

     第二部、编写构建脚本building.gyp文件

{  "targets": [    {      "target_name": "addon",      "sources": [ "hello.cc" ]    }  ]}

     第三部、编写package.json

     可以通过npm init模板生成。

{  "name": "node",  "version": "1.0.0",  "description": "",  "main": "test.js",  "dependencies": {},  "devDependencies": {},  "scripts": {    "test": "echo \"Error: no test specified\" && exit 1",    "install": "node-gyp rebuild"  },  "author": "",  "license": "ISC",  "gypfile": true}

     第四部、安装

     npm install

     系统需要安装python工具,下载地址:

     

     第五步、测试运行

// hello.jsconst addon = require('./build/Release/addon');console.log(addon.hello()); // 'world'

     

     完整代码参考:

转载于:https://www.cnblogs.com/99code/p/5773165.html

你可能感兴趣的文章
mac 下快捷键
查看>>
假期作业6-10
查看>>
50-02 字符流中第一个不重复的字符( 时间空间效率的平衡)
查看>>
position中static、relative、absolute、fixed的分析
查看>>
computer专业术语总结
查看>>
为Google Reader守夜。。。
查看>>
20165235我期望的师生关系
查看>>
【转载】C++中的static关键字的总结
查看>>
虚拟机安装Windwos8,实现与Windows7双启动
查看>>
搭建ftp服务器
查看>>
安装阿里巴巴java规范插件安装
查看>>
linux 运维工程师
查看>>
windows本地连接腾讯云的mysql服务器
查看>>
ActionBarSherlock学习笔记 第一篇——部署
查看>>
Rock Paper Azure Challenge回来啦
查看>>
//数组逆序
查看>>
预习任务:python 网络爬虫
查看>>
[LeeetCode] Remove Linked List Elements
查看>>
Selenium Grid的Java调用方法
查看>>
SpringMVC controller 时间 T
查看>>