编程语言在线运行代码是如何实现的?

2020-04-06 18:22:11 +08:00
 lohiecan

在线运行代码, 比如 http://jsrun.net 就是支持非常多种语言的支持。

他们是把用户提交上来的代码保存到一个文件里面, 如果是 c 语言就要先进行编译,然后再执行可执行文件,然后再发执行结果返加到用户看到的网页上面, 比如 http://c.jsrun.net 就是 c 语言的在线代码运行。

其中的过程其实非常复杂, 但是 JSRUN 的在线执行非常的快, 主要是用了 超高速 SSD 增加文件读写能力, 这种 SSD 一般需要 3GB/s 以上的读写速度才可以。

另外还要解决的安全性问题, 用户如果提交上来的是死循环,那么直接机器就卡死了。 如果提交上来的代码是删除整个硬盘,那么服务器就完蛋了。 中间要作非常的多的识别 来排除恶意代码的运行。

JSRUN 是非常好的一个网站,在国内已经是大龙头了, 建议你直接使用他们的服务就可以了。 做这些工作需要大量的精力维护,不建议再重复造轮子。

4032 次点击
所在节点    推广
25 条回复
xiri
2020-04-06 18:46:45 +08:00
你这个广告打的有点不用心啊,至少换给 id 吧,首页上还能看到你的另一个帖子“我做了一个在线运行代码的网站叫 JSRUN, 大家有兴趣吗?”呢
renmu
2020-04-06 18:50:16 +08:00
自问自答 23333
myqoo
2020-04-06 18:51:44 +08:00
不错,可以用来挖门罗币
lohiecan
2020-04-06 20:40:03 +08:00
@xiri 哈哈哈,我就是想增加一些点击量
liuxey
2020-04-06 20:46:46 +08:00
恭喜用户 -1
zhuzhibin
2020-04-06 21:17:46 +08:00
老哥看了你的广告 我不再用 jsrun 了嘻嘻
Nugine0
2020-04-06 21:20:13 +08:00
道理我都懂,在线执行速度和 SSD 有啥关系?
sunnywqf
2020-04-06 22:12:49 +08:00
死循环,删库都已经拦截了,不知道还有什么其他的可以玩玩的?
yafoo
2020-04-06 23:09:27 +08:00
支持,老早就收藏了。不过这广告打的确实不用心
just1
2020-04-06 23:12:22 +08:00
报一个 bug 吧,首页的项目鼠标放预览图上会出现三个按钮,鼠标移到按钮上,预览图上方的白色遮罩会一直闪烁
lhx2008
2020-04-06 23:16:48 +08:00
就是 docker 呗
supercaizehua
2020-04-07 01:23:42 +08:00
建议发到广告节点
fengshils
2020-04-07 07:31:23 +08:00
恭喜用户 -1
daimiaopeng
2020-04-07 09:06:00 +08:00
已报警
lohiecan
2020-04-07 11:23:16 +08:00
@zhuzhibin 悲伤 +1
lohiecan
2020-04-07 11:24:57 +08:00
@Nugine0 主要工作量是磁盘读写的操作,io 性能影响整体速度
lohiecan
2020-04-07 11:25:13 +08:00
@liuxey 悲伤 +1
lohiecan
2020-04-07 11:25:23 +08:00
@liuxey 悲伤 +2
lohiecan
2020-04-07 11:26:24 +08:00
@yafoo 这些支持 哈哈哈
lohiecan
2020-04-07 11:27:18 +08:00
@just1 嗯嗯 谢谢,我这就去改良一下

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/659886

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX