小编Car*_*ara的帖子

如何从 emscripten/web assembly 函数返回字符串给 ac 调用者

尝试遵循 emscripten 教程,在对 emscripten 的 C 调用之间传递参数,但仅正确传递数字,而不传递字符串。如何从 js 库调用将字符串返回到 C?

测试.c:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <emscripten.h>
extern char *getText(void);

int main() {
    printf(getText());
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

mylib.js:

mergeInto(LibraryManager.library, {
    getText: function() {
        return "a test string";
    }
});
Run Code Online (Sandbox Code Playgroud)

构建命令:

emcc test.c -o test.html --js-library mylib.js
Run Code Online (Sandbox Code Playgroud)

我期望看到的输出是“测试字符串”,但我实际看到的是“emcc”

我在 stackoverflow 和其他地方进行了广泛的查找,但是我找不到任何关于将字符串值从 JS 返回到 C 的信息,只能找到将它们从 C 传递到 JS 的信息,所以这不是我能找到的任何其他问题的重复。

是什么赋予了?

emscripten webassembly

5
推荐指数
1
解决办法
1837
查看次数

标签 统计

emscripten ×1

webassembly ×1