C++ 如何在V8中字符串化整数?
我试图在v8中字符串化一个整数 到目前为止,我最接近成功的方法是使用C++ 如何在V8中字符串化整数?,c++,v8,embedded-v8,C++,V8,Embedded V8,我试图在v8中字符串化一个整数 到目前为止,我最接近成功的方法是使用String::Concat。我尝试过编写这个方法(在node.js 9.11.1本机插件中),但没有编译 void Method(const FunctionCallbackInfo<Value> &args) { Isolate *isolate = args.GetIsolate(); const int num = 42; args.GetReturnValue().Set(
String::Concat
。我尝试过编写这个方法(在node.js 9.11.1本机插件中),但没有编译
void Method(const FunctionCallbackInfo<Value> &args) {
Isolate *isolate = args.GetIsolate();
const int num = 42;
args.GetReturnValue().Set(
String::Concat(String::NewFromUtf8(isolate, "The num is: "),
Integer::New(isolate, num)));
}
我还没有找到v8 API的正确部分,可以用来将整数格式化为字符串。我(可能很明显)不熟悉v8api,而且我很难找到好的示例来学习
我是按照这个问题的答案来做的:尽管与现代的v8api相比,它似乎过时了。例如,该示例似乎是预“隔离”的
我的印象是Concat会接受这一点,因为在JavaScript中它只是将int强制为字符串(这似乎是我提到的那个问题的要点)。但我想,在用v8编写代码时,我可能必须明确这一点
我肯定我错过了一些简单的东西。如果有人提出更好的建议,我将不胜感激。尝试在刚刚创建的
整数上调用ToString
请参见此处的函数声明:
“JavaScript只是强制INT”的魔法必须在某个地方实现——即,在C++侧,所有这些转换都是手工完成的;p> 太好了。非常感谢。我知道这很容易我还想指出,如果原始数据是C++ int,那么使用C++的工具(代码> SNPINTFF < /C>或任何你喜欢的)来完成转换和字符串汇编,然后,一个单<代码> V8::String 分配,最终会更有效。
'=': cannot convert from 'v8::Integer *' to 'v8::String *volatile '