Unter List of Online C++ Compilers findet man eine Liste mit Informationen zu verfügbaren C++ Online Compilern und ihren wichtigsten Funktionen vor. Auch unterstützen viele dieser WebSites andere Sprachen als C++, war für unsere Zwecke jedoch nicht weiter von Bedeutung ist. Je nach Version des verwendeten Compilers stehen unterschiedliche Versionen des C++–Standards bzw. –Sprachumfangs zur Verfügung.
Neben der bloßen Kompilierung führen die meisten Online-Compiler auch das kompilierte Programm aus. Die Möglichkeiten, die Kompilierung über Compiler-Flags zu parametrisieren, Kommandozeilen- und/oder Laufzeitparameter an das ausgeführte Programm zu übergeben und Eingaben für den Standard-Input bereitzustellen, variieren zwischen den verschiedenen WebSites.
Es folgen einige Details zu drei sehr populären Online C++ Compilern.
Wandbox bietet so ziemlich alle Funktionen, die Sie sich von einem typischen Online-Compiler wünschen, einschließlich der Unterstützung mehrerer Dateien und verschiedener Editor-Tastenkombinationen. Neben der Standardbibliothek werden einige zusätzliche Bibliotheken unterstützt, darunter Boost (bis zu 1.64), Sprout und MessagePack. Die kompilierten Programme laufen in einer Sandbox-Umgebung, die Datei-I/O ermöglicht. Die mitgelieferten Snapshot-Versionen von GCC und Clang ermöglichen das Spielen mit den neuesten C++17/20–Features.
Abbildung 1: Oberfläche des Online Compilers „Wandbox”.
Hinweis: Ein großartiges Feature des Wandbox Online Compilers ist seine Fähigkeit, ein Programm auf mehrere Dateien aufteilen zu können:
- Um mehr als nur eine Quellcodedatei zu erstellen, klickt man auf das große fettgedruckte „+”-Zeichen direkt über Zeile 1 des Quellcodefensters, direkt außerhalb des Textfelds. Dadurch wird eine neue Registerkarte mit dem Namen "noname-1" erstellt. Diese Registerkarte repräsentiert eine neue Quellcodedatei:
Abbildung 2: Mehrere Quellcodedateien für ein Programm.
-
Diese Quellcodedatei versieht man mit einem richtigen Namen. Man klickt dazu auf "noname-1", um zu dieser Registerkarte zu wechseln, und klickt dann erneut auf "noname-1". Der Name wird editierbar, nennen wir sie beispielsweise „Time.cpp”.
-
Wenn wir jetzt auf „Run” klicken, kompiliert Wandbox nur den Code in der Hauptdatei! Die zusätzliche Datei „Time.cpp” wird nicht berücksichtigt. Um Wandbox dazu zu bringen, „Time.cpp” zusammen mit der Hauptdatei zu kompilieren und auszuführen (eigentlich sollten wir von Linken sprechen), müssen wir „Time.cpp” zur Compiler-Befehlszeile hinzufügen!
-
Dazu gibt es ein Texteingabefeld für „Compiler Options:” Es befindet sich in der linken Seitenleiste. Jede Zeile mit Optionen wird zu einem einzigen Argument für den Compiler. Wenn wir nun zusätzliche Codedateien hinzuzufügen, müssen wir nur die Namen dieser Dateien einfach reinschreiben:
Abbildung 3: Optionen des Compilers.
Und noch ein letzer Hinweis: Zum Ausführen des Programms muss man nicht immer umständlich in den unteren Abschnitt des Fensters navigieren. Der Short-Cut „Control - Enter” führt dieselbe Aufgabe aus.
Abbildung 4: Tastatur-Shortcut zur Programmausführung.
Compiler Explorer ist eine „compile-as-you-type” IDE mit einer besonderen Funktion, da sie den von den Compilern erzeugten Assemblercode darstellt. Der resultierende Assemblercode kann dem ursprünglichen C++-Code farblich zugeordnet werden. Compiler Explorer unterstützt die gleichzeitige Verwendung verschiedener Quellen und mehrerer Compiler, sodass wir den Assemblercode, der von verschiedenen Compilern, mit unterschiedlichene Optimierungsflags usw. erzeugt wird, vergleichen können. Der Compiler-Explorer ist auf GitHub zu finden und kann lokal verwendet werden.
Abbildung 5: Oberfläche des Online Compilers „Compiler Explorer”.
Cppinsights ist weniger eine Online-IDE im herkömmlichen Sinne, denn sie erlaubt es nicht, kompilierte Programme auszuführen. Stattdessen zeigt die IDE eine andere Version des Quellcodes, die einen Teil der Magie zeigt, die der Compiler unter der Haube macht. Man könnte auch sagen, dass Cppinsights eine Art „Modern–C++” nach „Classic–C++”–Präcompiler mit dem Ziel ist, den ursprünglichen Quellcode besser verständlich umzuwandeln. Cppinsights ist ein Tool geschrieben von Andreas Fertig.
Abbildung 6: Oberfläche des Online Compilers „Cppinsights”.





