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

问题描述 投票:1回答:1

是的,有 重蹈覆辙,但这是5年前问的,已经很久没有更新了。

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

有一个平台叫 WasmFiddle 我认为我们可以在js中实现标准的库,也许可以将其导出为wasm,但这需要大量的工作。但这需要大量的工作。

我的初衷是为学生搭建一个基于Web的IDE,让他们学习C语言编程,而不需要花费大量成本在服务器上进行远程运行。所以,只需要stdio.h、math.h、string.h等库。

更新一下。这个 似乎是libc到wasm的伟大实现。

不需要很高的性能,所以基于wasm的解决方案和可能在JS中实现的运行c的虚拟机都是很好的解决方案。

javascript c web compiler-construction webassembly
1个回答
4
投票

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

不要期望有很好的性能,但是你应该就可以用一点JavaScript、CSS和HTML来链接它,用于你的代码编辑和控制台视图。

如果你对运行服务器没意见,那么你可以使用这个。Jupyter笔记本 内核。https:/github.comjupyter-xeusxeus-cling。

这是WASM中的一个例子,没有服务器。https:/github.comtbflemingcib)。


2
投票

要想让你的头脑有点发蒙,关于什么可以用emcripten和其他相关的技术,检查出工作的 Fabrice Bellard关于 Tiny C编译器, 小鸸鹋JsLinux.

JsLinux,基本上是用JavaScript运行虚拟化的机器,Bellard有运行Linux,和Windows2000的例子。


0
投票

你可以去核,只是把所有的东西放在一个虚拟机里,clang作为二进制运行在一些输入代码上,然后编译一些二进制文件作为输出,比然后再次在虚拟机里运行。都是客户端,但由于虚拟化的原因,性能会有所下降。

举个例子。https:/twitter.comalexpignottistatus1261357985617469442?s=20。 (我的一位同事正是在研究这个问题)

© www.soinside.com 2019 - 2024. All rights reserved.