在线运行代码, 比如http://jsrun.net就是支持非常多种语言的支持。
他们是把用户提交上来的代码保存到一个文件里面, 如果是 c 语言就要先进行编译,然后再执行可执行文件,然后再发执行结果返加到用户看到的网页上面, 比如http://c.jsrun.net 就是c语言的在线代码运行。
其中的过程其实非常复杂, 但是 JSRUN 的在线执行非常的快, 主要是用了 超高速 SSD 增加文件读写能力, 这种 SSD 一般需要3GB/s以上的读写速度才可以。
另外还要解决的安全性问题, 用户如果提交上来的是死循环,那么直接机器就卡死了。 如果提交上来的代码是删除整个硬盘,那么服务器就完蛋了。 中间要作非常的多的识别 来排除恶意代码的运行。
JSRUN 是非常好的一个网站,在国内已经是大龙头了, 建议你直接使用他们的服务就可以了。 做这些工作需要大量的精力维护,不建议再重复造轮子。
https://www.v2ex.com/t/659859