将 Node.js 缓冲区传递给 C++ 插件
Pass Node.js Buffer to C++ addon
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
根据 node.js node binding documentation 可以访问 'arg[0]' 值参数:
String::AsciiValue v(args[0]->ToString());
你可以这样做:
char* buf = node::Buffer::Data(args[0]);
直接访问Buffer
的字节。
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
根据 node.js node binding documentation 可以访问 'arg[0]' 值参数:
String::AsciiValue v(args[0]->ToString());
你可以这样做:
char* buf = node::Buffer::Data(args[0]);
直接访问Buffer
的字节。