【发布时间】:2020-05-21 00:25:26
【问题描述】:
是的,有a duplicate problem,不过是5年前问的,好久没更新了。
2020年随着WebAssembly的发展,有没有办法在浏览器本地编译运行一个简单的C程序?
有一个叫做WasmFiddle的平台可以在浏览器中编译C到wasm,但是它缺乏标准库的支持,例如stdio.h。我认为我们可以在 js 中实现标准库并将其导出到 wasm?但这需要大量工作。
我最初的目标是为学生构建一个基于 Web 的 IDE,让他们学习 C 编程,而无需在服务器上花费大量成本进行远程运行。因此,只需要 stdio.h、math.h、string.h 等库。
更新:this 似乎是 libc 到 wasm 的一个很好的实现。
不需要高性能,所以基于 wasm 的解决方案,也许还有一个用 JS 实现的运行 c 的 VM 都是很好的解决方案。
【问题讨论】:
-
使用标准库在浏览器中运行 C 程序没有任何意义。即使你有整个 C 库可用,你也无法使用它。浏览器不允许直接从其 JavaScript 运行时与系统交互,这是一种安全措施。
-
终极目标是什么?允许用户输入 C 程序?
-
您想使用标准库的哪些功能?
标签: javascript c web webassembly