WCE blog

ゲーム制作サークル 早稲田コンピュータエンタテインメント

オンライン C++ コンパイラ

プログラミング班 3 年 @Reputeless です。

C++ のコードを書きたいけど、手元に GCCVisual Studio がない!
Visual StudioC++11 に全然対応していなくてつらい。でも GCC をインストールするのは面倒・・・

そんなとき、オンラインで C++ のコードをコンパイル、実行してくれる Web サービスが便利です。
この記事では C++ に対応しているオンラインコンパイラを 4 つ紹介します。

対応機能は 2013 年 3 月 15 日時点のものです。

ideone.com

60 以上の言語に対応するオンラインコンパイラです。
知名度が高く、Twitter などでコードをシェアする際によく使われます。
コンパイラのバージョンの更新はやや遅めです。
以前は Boost に対応していましたが、最近の更新で消えてしまいました。復活が望まれます。

コンパイラ: gcc 4.7.2
Boost: △(以前は対応していたが現在使用不可)
コンコンパイラオプション: ×(C++03 か C++11 かは選択可能)
コマンドライン引数: ×
標準入力: ○
実行: ○
Permalink: ○

LiveWorkspace

簡易のバージョン管理と、洗練されたインターフェイスを持つ、将来有望なオンラインコンパイラです。
コンパイラの種類が豊富で、現時点で最新の GCC 4.8 prerelease も利用できます。
コマンドライン引数への対応も、ほかのサービスにはない特長です。

コンパイラ: gcc 4.6.3 / 4.7.2 / 4.8.0 prerelease / Clang 3.2 / Intel ICC 13.0.1
Boost: 1.53.0
コンパイラオプション: ○
コマンドライン引数: ○
標準入力: ○
実行: ○
Permalink: ○

Stacked-Crooked

エディタ以外に何もない、独特なインターフェイスのサービスです。
Permalink が無駄に長いのが難点です。

コンパイラ: gcc 4.7.2
Boost: 1.53.0
コンパイラオプション: ○
コマンドライン引数: ×
標準入力: ×
実行: ○
Permalink: ○

Rise4Fun

Visual C++ 2012 (November 2012 CTP) でのコンパイル結果を表示するサービスです。
上記3つと異なり、実行結果を確認することはできません。コンパイルメッセージだけです。
Visual C++ 2012 がどれくらい C++11 に対応しているか試す目的でしか使えないような気がします。
生成される Permalink ID の短さ(2,3文字)が、利用者の少なさを物語っています。

コンパイラ: Microsoft Visual C++ 2012 (November 2012 CTP)
Boost: ×
コンパイラオプション: ×
コマンドライン引数: ×
標準入力: ×
実行: ×
Permalink: ○


これらオンラインコンパイラには

  • インタラクティブな標準入力ができない
  • ファイル入出力を扱えない
  • 複数の .cpp ファイルを利用できない

といった欠点があります。

それでも、すぐにプログラムの結果を確認したかったり、簡単なコードと実行結果を共有したいときには非常に重宝します。ぜひ活用してみてください!

参考: Online C++ compilers