需要一些帮助来构建编程竞赛评判系统

时间:2013-02-22 14:04:29

标签: operating-system

我计划创建像PC ^ 2,Domjudge那样的现场编程竞赛评委。

我想建立基于网络的判断系统(localhost)而不是桌面应用程序。

这是我的目标:

  1. 判断系统应该像PC2一样跨平台[与JRE一起运行]
  2. 使用Ruby,Python,PHP或Node.JS
  3. 现在的问题是让系统跨平台最适合哪种语言?

    Ruby,Python,PHP或Node.JS可以处理系统命令吗? [例如。编译C ++ / Java源代码,并运行程序]他们如何处理进程的时间限制?

    有人能给我一些有用的链接吗? 我搜索了很多,但没有找到任何有关跨平台系统的信息。

1 个答案:

答案 0 :(得分:1)

如果您正在计划一个基于Web的编程竞赛评判系统,它将是跨平台的,因为它在网上,至少从用户的角度来看。但如果您从服务器的角度来看是指跨平台,则需要一个跨平台的流程管理库,例如:

提升流程(www.highscore.de/boost/process /)

PoCo (pocoproject.org/)(在基金会处理名称空间)

Psutil (code.google.com/p/psutil/)(对于Python)如果您选择python我推荐Web.py作为网络框架

Qt (qt-project.org/)您可以使用以独立于平台的方式实现许多OS实用程序的Qt,例如。进程,线程,网络,GUI ......

wxWidgets 还包含一个跨平台的流程控制库,用于通过wxProcess类生成子流程。

....并且应该有更多的图书馆......

使用 Node.js ,您可以创建子进程,但我不确定您可以使用它多远,例如我不知道您是否可以继续限制进程的记忆。

但是,如果出于任何原因决定为特定平台开发软件,例如 GNU / Linux ,您可以首先了解流程管理如何适用于该特定平台({{3} }, Windows(Win32 API)