有没有办法在浏览器中本地运行 C 程序?

Leo*_* Lu 2 javascript c web webassembly

是的,有一个重复的问题,但是是5年前问的,很久没有更新了。

2020年,随着WebAssembly的发展,有没有办法在浏览器本地编译运行一个简单的C程序?

有一个叫WasmFiddle的平台,可以在浏览器中将C编译成wasm,但是缺少标准库的支持,比如stdio.h。我认为我们可以在 js 中实现标准库,也许可以将其导出到 wasm?但这需要大量的工作。

我最初的目标是构建一个基于 Web 的 IDE,供学生学习 C 编程,而无需花费大量成本在服务器上进行远程运行。因此,只需要像 stdio.h、math.h、string.h 这样的库。

更新:似乎是 libc 到 wasm 的一个很好的实现。

不需要高性能,因此基于 wasm 的解决方案和在 JS 中实现的运行 c 的 VM 都是很好的解决方案。

A T*_*A T 5

EmscriptenWASM是两种流行的解决方案。

不要期望出色的性能,但是您应该能够将它与一些 JavaScript、CSS 和 HTML 链接起来,用于您的代码编辑和控制台视图。

如果你可以运行服务器,那么你可以使用这个Jupyter Notebook内核:https : //github.com/jupyter-xeus/xeus-cling

这是 WASM 中的一个示例,没有服务器:https : //github.com/tbfleming/cib