如何从emscripten / webassembly函数向c调用者返回字符串

时间:2019-03-01 18:41:00

标签: emscripten webassembly

尝试遵循emscripten教程,在C调用之间向emscripten传递参数,但只能正确传递数字,不能传递字符串。如何通过js库调用将字符串返回给C?

test.c:

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

int main() {
    printf(getText());
    return 0;
}

mylib.js:

mergeInto(LibraryManager.library, {
    getText: function() {
        return "a test string";
    }
});

构建命令:

emcc test.c -o test.html --js-library mylib.js

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

我在其他地方对stackoverflow ans进行了广泛的研究,但是关于将字符串值从JS返回到C,仅关于将它们从C传递到JS方面,我找不到任何东西,因此这与我其他问题没有重复能找到。

有什么作用?

0 个答案:

没有答案