Buffer
Node.JS アドオンで( )からのデータを処理したいのですがArrayBufferView
、C++ でこの実験的なコードを使用しています。
void foo(const FunctionCallbackInfo<Value> &args) {
auto *isolate = args.GetIsolate();
auto data = args[3];
if (data->IsArrayBufferView()) {
auto arrbufview = Local<v8::ArrayBufferView>::Cast(data);
if (!arrbufview->HasBuffer()) {
// empty
return;
}
auto content = arrbufview->Buffer()->GetContents();
std::cout << content.Data()) << "\n\n" << content.ByteLength() << "\n";
}
}
今、私はこのコードを次のようなスクリプトで実行します
foo(new Buffer("foobar"))
そして、データ バッファーは、私が入れたメモリ領域を指しているのではなくfoobar
、長さが 8192 バイトのランダムな他の領域を指しています。適切なデータを取得するにはどうすればよいですか?