1

BufferNode.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 バイトのランダムな他の領域を指しています。適切なデータを取得するにはどうすればよいですか?

4

0 に答える 0