我是编写节点 C++ 插件的新手。
我想将参数字符串从节点更改为更改 c++ 字符串,
但出现错误,我尝试了这个问题,
如何将 std::string 转换为 v8 的 Local<string>
它不起作用。
我已经尝试过这些功能,但没有一个工作。
void Method(const FunctionCallbackInfo<Value>& args) {
Isolate* isolate = args.GetIsolate();
// Local<Value> layer_name = Local<String>::Cast(args[0]);
// Local<Value> imei = Local<String>::Cast(args[1]);
// Local<String> layer_name = args[0]->ToString();
// Local<String> imei = args[1]->ToString();
// v8::String::Utf8Value layer_name(args[0]);
// v8::String::Utf8Value param1(args[0]);
// std::string from = std::string(*param1);
// std::string encoded_val = "test";
// Local<String> returned_str = Local<String>::Cast(args[0]);
// encoded_val.c_str() = returned_str;
// v8::String::Utf8Value s(args[0]);
// Local<String> s = v8::String::NewFromUtf8(isolate, args[0],
// NewStringType::kNormal).ToLocalChecked();
// std::string str(*s);
// std::string str(v8::String::Utf8Value(args[0].As<String>());
// v8::String::Utf8Value str(isolate, args[0]);
// std::string layer_name(*str);
// v8::String::Utf8Value layer_name(args[0]);
// char* str = ToCString(str);
// std::string str(*layer_name);
std::string result;
int age = 0;
result = std::to_string(age);
int32_t res = IMEIHash(result, 10000);
args.GetReturnValue().Set(res);
}```
so how to change v8 args[0] to c++ string, in node v12.16.0 ?