如何使 Emscripten 成为 link popen
How to make Emscripten to link popen
我使用最新的 emscripten compile/link 文件中的一个简单程序 t.c:
#include <stdio.h>
int main(int argc, char *argv[])
{
FILE *fp = popen("ls *", "r");
return 0;
}
我这样做了:
emcc t.c -o t.html
emscripten 给出 "error: undefined symbol: popen"
我知道我可以使用“-s ERROR_ON_UNDEFINED_SYMBOLS=0”来隐藏错误,但这会破坏使用 popen 完成其工作的真正目的。当你加载 t.html 时,你当然会看到 missing popen 错误。
stdio.h中的所有功能都在emscripten中实现了吗?如果没有,你能告诉我正确的方法来使缺失的函数如 popen 工作吗?
谢谢。
你不能。 运行 ls
命令开头没有意义。
您的 Emscripten C 代码 运行 在网络浏览器中,而不是在操作系统中。 Web 浏览器环境不提供任何 UNIX 命令,也不允许 运行 在浏览器之外运行任何程序。因此 Emscripten 不支持多处理。
我使用最新的 emscripten compile/link 文件中的一个简单程序 t.c:
#include <stdio.h>
int main(int argc, char *argv[])
{
FILE *fp = popen("ls *", "r");
return 0;
}
我这样做了:
emcc t.c -o t.html
emscripten 给出 "error: undefined symbol: popen"
我知道我可以使用“-s ERROR_ON_UNDEFINED_SYMBOLS=0”来隐藏错误,但这会破坏使用 popen 完成其工作的真正目的。当你加载 t.html 时,你当然会看到 missing popen 错误。
stdio.h中的所有功能都在emscripten中实现了吗?如果没有,你能告诉我正确的方法来使缺失的函数如 popen 工作吗?
谢谢。
你不能。 运行 ls
命令开头没有意义。
您的 Emscripten C 代码 运行 在网络浏览器中,而不是在操作系统中。 Web 浏览器环境不提供任何 UNIX 命令,也不允许 运行 在浏览器之外运行任何程序。因此 Emscripten 不支持多处理。