在线运行代码怎么实现的?

2018 年 4 月 19 日
 xshanow

如图: 各位大神,有知道这个怎么实现的吗?

这样:

https://tool.lu/mine

8663 次点击
所在节点    问与答
15 条回复
crazybug
2018 年 4 月 19 日
提交的代码在服务器端执行完在返回到浏览器!
Luckyray
2018 年 4 月 19 日
应该是 1 楼的办法吧,总不能全用 js 写一套解释器,那也太复杂了。
input2output
2018 年 4 月 19 日
在云端 sandbox 里运行的;
current
2018 年 4 月 19 日
hxndg
2018 年 4 月 19 日
@input2output
哈哈哈,不过一般都是在沙盒做的,基本不可能
tommyZZM
2018 年 4 月 19 日
服务端运行,然后把 stdin/stdout/stderr 接到前端输入或者显示吧
kevindu
2018 年 4 月 19 日
wshcdr
2018 年 4 月 19 日
比较感兴趣,MARK 一记
LeungJZ
2018 年 4 月 19 日
感兴趣,mark 一下。
holyghost
2018 年 4 月 19 日
实际上就是一个 sandbox,刚好我之前用 namespace 和 cgroup 实现了一个: https://github.com/justice-oj/sandbox

demo 的地址是: https://www.justice.plus
honist
2018 年 4 月 19 日
star 了楼上 有空研究一下
chinvo
2018 年 4 月 19 日
和 OJ 的原理一样,后端沙盒运行,捕获输入输出
dobelee
2018 年 4 月 19 日
后端的虚拟机编译执行一下就 ok 了。
kaneg
2018 年 4 月 19 日
云端跑个 docker 就可以
xshanow
2018 年 4 月 28 日
没想到这么多人收藏了 。
我主要研究的是 java,c#,c++的,总结以下吧
[成功]Java 代码中运行 java 代码,使用 Java-Runtime-Compiler 这个库,好使。https://github.com/OpenHFT/Java-Runtime-Compiler
[成功]C#环境中有 CSharpCodeProvider\CPPCodeProvider..支持 C#和 VB,不知道啥原因 C++的不支持。
[未知]linux 下,C++可以使用 libdcompile,https://github.com/Fadis/libdcompile,没测试。

以上。

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

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

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

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

© 2021 V2EX