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