尝试遵循 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 的信息,所以这不是我能找到的任何其他问题的重复。
是什么赋予了?