文章目录

调用c可以使用node-gyp $ npm install -g node-gyp 文档:https://www.npmjs.com/package/node-gyp

简单实例:

hello.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <node.h>
#include <v8.h>
using namespace v8;
Handle<Value> Method(const Arguments& args) {
HandleScope scope;
return scope.Close(String::New("world"));
}
void init(Handle<Object> target) {
NODE_SET_METHOD(target, "hello", Method);
}
NODE_MODULE(binding, init);

binding.gyp指定C部分源文件路径和最终生成模块的名称,此例中将会生成一个可以被node调用的binding.node文件。

1
2
3
4
5
6
7
8
{
'targets': [
{
'target_name': 'binding',
'sources': [ 'binding.cc' ]
}
]
}

js调用

1
2
3
4
var assert = require('assert');
var binding = require('./build/Release/binding');
assert.equal('world', binding.hello());
console.log('binding.hello() =', binding.hello());

调用java可以使用node-java,java,node-jvm等

此文是本站原创,转载请标注作者和链接出处!