将Node.js缓冲区传递给C ++插件
test.js
buf = new Buffer(100); for (var i = 0; i < 100; i++) buf[i] = i addon.myFync(buf);
addon.cpp
Handle<Value> set(const Arguments& args) { char *buf = SOMETHING(args[0]); return Undefined(); }
如何获得指向C ++函数内缓冲区的数据的指针?
我应该写什么来代替SOMETHING(args[0])
?
我在我的编辑器中打开了node_buffer.h,但我无法弄清楚。
节点版本= v0.10.29
你可以做:
char* buf = node::Buffer::Data(args[0]);
直接访问一个Buffer
的字节。
根据node.js 节点绑定文档的'arg [0]'值参数可以被访问为:
String::AsciiValue v(args[0]->ToString());