如何动态编译和执行代码?

Nic*_*ick 5 .net php c python

有一些网站(像这样的一个),可以让用户在不同的语言提交代码和系统编制并对其执行测试用例.作为开发人员,我很想知道他们是如何做到这一点的,他们如何支持多种语言(PHP,Python,C,.NET,javascript)?

提交的代码是否可能是恶意的,从而危及他们执行代码的环境?

谢谢.

aru*_*mar 0

我不能代表那个特定的网站,但通常他们会创建一个受限制的环境,称为沙箱。在此环境中,他们可以进一步限制在那里运行的程序的功能可用性。这也可以通过阻止语言内的某些 API 调用来完成。

*nix 上的Chroot是创建沙箱的一种方法。