0

PC^2、Domjudge のようなオンサイト プログラミング コンテスト ジャッジを作成する計画があります。

デスクトップ アプリケーションではなく、Web ベース (localhost) のジャッジ システムを構築したいと考えています。

ここに私の目的があります:

  1. ジャッジシステムは、PC2 [JRE で動作する] のようなクロスプラットフォームであるべきです
  2. Ruby、Python、PHP、または Node.JS を使用する

問題は、システムをクロスプラットフォームにすることであり、どの言語が最も望ましいのでしょうか?

Ruby、Python、PHP、または Node.JS はシステム コマンドを処理できますか? [例えば。C++/Java ソース コードのコンパイルとプログラムの実行] プロセスの時間制限をどのように処理できるか?

誰でも役立つリンクを教えてもらえますか? 私はたくさんグーグルで調べましたが、クロスプラットフォームシステムについては何も見つかりませんでした.

4

1 に答える 1

1

Web ベースのプログラミング コンテスト審査員システムを計画している場合、少なくともユーザーの観点からは、Web 上にあるためクロス プラットフォームになります。ただし、サーバーの観点からクロスプラットフォームを意味する場合は、クロスプラットフォームのプロセス管理ライブラリが必要になります。次に例を示します。

ブーストプロセス(www.highscore.de/boost/process/)

PoCo (pocoproject.org/) (Processes 名前空間、Foundation 内)

Psutil (code.google.com/p/psutil/) (Python 用) python を選択する場合Web フレームワークとしてWeb.pyをお勧めします

Qt (qt-project.org/) プラットフォームに依存しない方法で多くの OS ユーティリティを実装する Qt を使用できます。プロセス、スレッド、ネットワーキング、GUI...

wxWidgetsには、wxProcess クラスを介して子プロセスを生成するためのクロスプラットフォーム プロセス コントロール ライブラリも含まれています。

....そして、そこにはもっと多くのライブラリがあるはずです...

Node.jsを使用すると、子プロセスを作成できますが、プロセスのメモリを制限し続けることができるかどうかなど、子プロセスをどこまで使用できるかはわかりません。

しかし、何らかの理由でGNU/Linuxなどの特定のプラットフォーム用のソフトウェアを開発することにした場合は、その特定のプラットフォーム ( Linux (POXIS)Windows (Win32 API) )でプロセス管理がどのように機能するかを理解することから始めることができます。

于 2013-05-17T19:22:20.340 に答える