I'm not very familiar with emscripten, but this answer to another question seems to use
Pointer_stringify("...")
to convert from C strings.
Is it possible to print a string from C++ with Javascript using emscripten?
-
02-06-2022 - |
문제
How can I pass a char*
or std::string
into an externally defined Javascript function using emscripten?
Currently, when I pass a char*
into my externally defined Javascript, a number is printed instead of the string (pointers?).
Here is the code I am using:
mylib.js
mergeInto(LibraryManager.library, {
my_js: function(s) {
Module.print(s);
console.log(s);
document.getElementById('voronoi').innerHTML = s;
},
});
main.cpp
int main(int argc, const char * argv[])
{
char* myString = (char*) malloc(10);
strncpy(myString, "SOMETHING", 10);
my_js(myString);
free(myString);
return 0;
}
Result printed to the console when running node ./a.out.js
:
5260128
해결책
다른 팁
Another way to do this is using embind.
You can refer my answer here for more details.
제휴하지 않습니다 StackOverflow