3

ブラウザからアクセスできるオンライン gcc コンパイラを作ろうとしています。このすべてのために、ウィンドウXPでphp、cygwinを使用しています。実際には、ブラウザ上のコード ウィンドウをユーザーに提供しています。


一般的なプロセスは次のとおりです。

  1. $source .c ファイルに書き込む
  2. .c ファイルを gcc コンパイラでコンパイルし、.exe ファイルを作成
  3. .exe ファイルの出力がユーザーに表示されます。

テスト用のCプログラムには読み取り関数がないと思われます。私は単一のprintfステートメントのみを使用しています。


問題は:

約 30 の同時要求がある場合、30 人のユーザーが同時にプログラムをコンパイルすることを意味し、約 15 秒で出力が生成されますが、これは長すぎます。

この時間を短縮するために私を助けてください。それぞれの提案を歓迎します

.exe ファイルを作成せずに C プログラムの出力を読み取ることはできますか?

4

2 に答える 2

1

出発点は、分散ビルド システムを調査することです。

Windows では、(無料ではない) ソリューションがIncredibuildであることを知っています。約 8 年前にプロジェクトの 1 つで使用したところ、クリーンアップとビルドにかかる時間が 25 分から約 5 分に短縮されました。ここにレビューがあります

現在、他の代替案と Windows 以外のソリューションを検索したところ、 distccも見つかりました。

Incredibuild の代替案についての議論 (古いようです) もあります。

于 2012-05-15T11:09:56.493 に答える
0

C ソース コードが各コンパイル リクエストでほぼ同じである場合は、コンパイラ キャッシュが有効なビルド システムを使用できます。例)waf と cmake。以前の建物のコピーを利用して、コンパイルを高速化できます。

于 2012-05-15T12:08:28.960 に答える