我正在尝试在NodeJS插件中使用ToCString。

String::Utf8Value foo_utf8(args[0]->ToString());
const char *foo = ToCString(foo_utf8);

我找不到它的标题,如果我手动将其原型(prototype)化为:
const char* ToCString(const v8::String::Utf8Value& value);

然后我得到一个运行时错误:
node: symbol lookup error: /home/chris/Dropbox/cbackend/build/Release/cbackend.node:
undefined symbol: _Z9ToCStringRKN2v86String9Utf8ValueE

如何将V8字符串参数转换为以空值终止的8位C字符串?

最佳答案

我发现了一种解决方法,因为ToCString函数(无论位于何处)都是微不足道的。只需添加:

const char* ToCString(const v8::String::Utf8Value& value) {
  return *value ? *value : "<string conversion failed>";
}

关于c++ - ToCString的头在哪里,或者如何将参数转换为cstrings?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11190410/

10-11 16:08