簡體   English   中英

是否可以使用emscripten使用Javascript從C ++打印字符串?

[英]Is it possible to print a string from C++ with Javascript using emscripten?

如何使用emscripten將char*std::string傳遞到外部定義的Javascript函數中?

當前,當我將char*傳遞到外部定義的Javascript中時,將打印數字而不是字符串(指針?)。

這是我正在使用的代碼:

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;
}

運行node ./a.out.js時,結果打印到控制台:

5260128

我對emscripten不太熟悉,但是對另一個問題的此答案似乎是使用Pointer_stringify("...")從C字符串轉換而來。

另一種方法是使用embind

您可以在這里參考我的答案以獲取更多詳細信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM