1
crazybug 2018-04-19 11:37:43 +08:00
提交的代码在服务器端执行完在返回到浏览器!
|
2
Luckyray 2018-04-19 11:43:29 +08:00
应该是 1 楼的办法吧,总不能全用 js 写一套解释器,那也太复杂了。
|
3
input2output 2018-04-19 11:53:12 +08:00
在云端 sandbox 里运行的;
|
4
current 2018-04-19 12:13:10 +08:00
|
5
hxndg 2018-04-19 13:02:51 +08:00
@input2output
哈哈哈,不过一般都是在沙盒做的,基本不可能 |
6
tommyZZM 2018-04-19 15:28:02 +08:00
服务端运行,然后把 stdin/stdout/stderr 接到前端输入或者显示吧
|
7
kevindu 2018-04-19 15:57:23 +08:00
|
8
wshcdr 2018-04-19 17:01:44 +08:00
比较感兴趣,MARK 一记
|
9
LeungJZ 2018-04-19 17:07:23 +08:00
感兴趣,mark 一下。
|
10
holyghost 2018-04-19 17:13:32 +08:00 2
实际上就是一个 sandbox,刚好我之前用 namespace 和 cgroup 实现了一个: https://github.com/justice-oj/sandbox
demo 的地址是: https://www.justice.plus |
11
honist 2018-04-19 19:31:40 +08:00
star 了楼上 有空研究一下
|
12
chinvo 2018-04-19 19:35:27 +08:00
和 OJ 的原理一样,后端沙盒运行,捕获输入输出
|
13
dobelee 2018-04-19 19:36:49 +08:00 via Android
后端的虚拟机编译执行一下就 ok 了。
|
14
kaneg 2018-04-19 20:34:55 +08:00 via iPhone
云端跑个 docker 就可以
|
15
xshanow OP 没想到这么多人收藏了 。
我主要研究的是 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,没测试。 以上。 |