使用 emscripten 将字符串从 C++ 传递到 JS
Pass string from C++ to JS using emscripten
我正在尝试使用 emscripten 将字符串从 C++ 发送到 JS,但我无法在 JS 中适当地转换它。
C++
EMSCRIPTEN_KEEPALIVE const char* accessDetails()
{
return func().c_str();
}
函数 returns std::string.
我得到了一些垃圾值 number
。如何在 JS 中获取字符串?
提前致谢。
像这样调用原始 WebAssembly 函数时,只支持基本类型。在这种情况下,您将返回一个指针,它只是一个数字(指针在 JS 中是数字,就像它们在 C/C++ 中一样)。您可以使用该指针从 WebAssembly 内存中读取字节并使用 UTF8ToString(number)
从它们中生成 JS 字符串,或者您可以使用更高级别的绑定系统之一(例如 embind)来处理它你.
有关详细信息,请参阅 https://emscripten.org/docs/porting/connecting_cpp_and_javascript/Interacting-with-code.html。
我正在尝试使用 emscripten 将字符串从 C++ 发送到 JS,但我无法在 JS 中适当地转换它。
C++
EMSCRIPTEN_KEEPALIVE const char* accessDetails()
{
return func().c_str();
}
函数 returns std::string.
我得到了一些垃圾值 number
。如何在 JS 中获取字符串?
提前致谢。
像这样调用原始 WebAssembly 函数时,只支持基本类型。在这种情况下,您将返回一个指针,它只是一个数字(指针在 JS 中是数字,就像它们在 C/C++ 中一样)。您可以使用该指针从 WebAssembly 内存中读取字节并使用 UTF8ToString(number)
从它们中生成 JS 字符串,或者您可以使用更高级别的绑定系统之一(例如 embind)来处理它你.
有关详细信息,请参阅 https://emscripten.org/docs/porting/connecting_cpp_and_javascript/Interacting-with-code.html。