description: C++ プログラムのコンパイル・実行ができる Web サイトの紹介
C++ プログラムのコンパイル、実行、共有ができる Web サイトです。
| コンパイラ | 日本語入出力 | インタラクティブ | 複数ファイル | |
|---|---|---|---|---|
| Wandbox | :material-check: | :material-check: | ||
| Compiler Explorer (Compiler モード) |
:material-check: | :material-check: | ||
| Compiler Explorer (Execution モード) |
:material-check: | :material-check: | ||
| repl.it (要アカウント登録) |
:material-check: | :material-check: | :material-check: | |
| C++ Shell | :material-check: | |||
| paiza.io | :material-check: | :material-check: | ||
| GDB Online | :material-check: | :material-check: | :material-check: | |
| Ideone | :material-check: |
Compiler Explorer は、C, C++, Rust, Swift などのソースコードをコンパイルしてアセンブリを表示するオンラインコンパイラです。複数タブを使って、GCC, Clang, MSVC, ICC などのコンパイラや、コンパイルオプションを変えたときの結果を比較できます。
入力例
int square(int num)
{
return num * num;
}出力
square(int):
push rbp
mov rbp, rsp
mov DWORD PTR [rbp-4], edi
mov eax, DWORD PTR [rbp-4]
imul eax, DWORD PTR [rbp-4]
pop rbp
retCompiler Explorer には、Web 上のファイルを #include "URL" でインクルードできる独自拡張機能があります。この機能を使うと、GitHub などに公開されているシングルヘッダライブラリをプログラムの中で簡単に使えます(例: https://godbolt.org/z/OV-vGQ)
Quick Bench は、google/benchmark による C++ プログラムの実行時間の計測と、その結果のビジュアライズができるオンラインコンパイラです。棒グラフによる比較、アセンブリの表示、グラフ画像のダウンロード、URL による結果のシェアなどの機能があります。
例: http://quick-bench.com/O1QdfCc73docKGKjaYBxWG6a9AU
Build Bench は、異なる C++ ソースやビルドオプションどうしのビルド時間を比較できる Web サービスです。
C++ Insights は、ラムダ式、range-based for, 構造化束縛などで何が起こっているのかを、プログラムを単純なソースコードに分解することで可視化するオンラインのツールです。
入力例
#include <cstdio>
int main()
{
const char arr[10]{2,4,6,8};
for(const char& c : arr)
{
printf("c=%c\n", c);
}
}出力
#include <cstdio>
int main()
{
const char arr[10] = {2, 4, 6, 8, '\0', '\0', '\0', '\0', '\0', '\0'};
{
char const (&__range1)[10] = arr;
const char * __begin1 = __range1;
const char * __end1 = __range1 + 10l;
for( ; __begin1 != __end1; ++__begin1 )
{
const char & c = *__begin1;
printf("c=%c\n", static_cast<int>(c));
}
}
}
