我计划创建像PC ^ 2,Domjudge那样的现场编程竞赛评委。
我想建立基于网络的判断系统(localhost)而不是桌面应用程序。
这是我的目标:
现在的问题是让系统跨平台最适合哪种语言?
Ruby,Python,PHP或Node.JS可以处理系统命令吗? [例如。编译C ++ / Java源代码,并运行程序]他们如何处理进程的时间限制?
有人能给我一些有用的链接吗? 我搜索了很多,但没有找到任何有关跨平台系统的信息。
答案 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))