我正在尝试使用node-addon-apiBuffer
创建一个新的vector
,但生成的内容总是与. 这是我的cpp代码:char
Buffer
vector
#include <napi.h>
Napi::Value GetBuffer(const Napi::CallbackInfo& info) {
Napi::Env env = info.Env();
std::vector<char> v{0x10, 0x11, 0x12};
return Napi::Buffer<char>::New(env, v.data(), v.size());
}
Napi::Object Init(Napi::Env env, Napi::Object exports) {
exports.Set(Napi::String::New(env, "getBuffer"), Napi::Function::New(env, GetBuffer));
return exports;
}
NODE_API_MODULE(addon, Init);
这是我的js代码:
const addon = require('./build/Release/addon');
const buffer = addon.getBuffer();
console.log(buffer.toString("hex")); // The output is different every time, instead of being 101112
结果缓冲区的内容总是不同的,为什么?如何使它正确?