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

标签 javascript c web webassembly

是的,有 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 都是很好的解决方案。

最佳答案

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

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

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

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

关于javascript - 有没有办法在浏览器中本地运行 C 程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61925125/

相关文章:

javascript - 为什么 Bootstrap 移动导航按钮不扩展导航?

javascript - 在 JS/Prototype 中获取一个月中的天数

javascript - 未捕获的类型错误 : Cannot set property 'selected' of undefined chosen jquery

c - 实现 `strtok`,其分隔符有多个字符

c - 在 C 中逐字符打印文件(任意长度)

python - Django 表 2 创建自定义计算字段

javascript - 无法运行此 DEBUG=AATT* http_port=3000 Node app.js

c - 理解 extern 和 void 函数指针

azure - 限制对暂存和开发插槽的访问

html - 网页 HTML/CSS 上的并排文本