C++: Interaktiv programmieren mit dem Compiler Explorer

Der interaktive Compiler Explorer zeigt die Assembler-Ausgabe parallel zum Quellcode an. Damit ist er ein nützliches Tool für alle, die mit C++ arbeiten.

Artikel verschenken
In Pocket speichern vorlesen Druckansicht 12 Kommentare lesen
Programmieren mit dem Compiler Explorer
Lesezeit: 8 Min.
Von
  • Josef Holzmayr
Inhaltsverzeichnis

"Did you godbolt it?" Im Sprachgebrauch der C++-Welt hat dieser etwas merkwürdige Satz binnen kürzester Zeit einen festen Platz eingenommen.

Hinter der Tätigkeit und dem dabei verwendeten Tool verbirgt sich der unter godbolt.org zu erreichende Compiler Explorer, der das Zusammenspiel aus Quelltext und verwendetem Compiler visualisiert. Der Schwerpunkt liegt auf C++, aber der Compiler Explorer (CE) unterstützt auch Exoten.

Exotische Programmiersprachen

Der CE unterstützt neben C/C++ seit Längerem eine wachsende Anzahl weiterer Programmiersprachen. Einige besonders interessante sind:

  • LLVM IR: Die Intermediate-Representation des LLVM-Projekts ist aufgrund der resultierenden Kombination von plattformunabhängiger Low-Level-Sprache und Assembler erwähnenswert.
  • Analysis: Der LLVM Machine Code Analyzer nimmt Assembler entgegen und erzeugt einen detaillierten Bericht über die CPU-Verwendung bis auf Pipelineebene.
  • Fortran: Wenngleich aus der gefühlten Steinzeit, ist Fortran doch nach wie vor Teil der GCC und in manchen rechenintensiven Fällen schneller als C.
  • Cppx: Herb Sutter und Andrew Suttons experimenteller C++-Metaclass-Compiler. Damit lässt sich heute schon ausprobieren, wie eine mögliche Evolution von C++ übermorgen aussehen könnte.

Der CE zeigt links ein Snippet der Quadratfunktion und rechts die Visualisierung des daraus resultierenden x86-64-Bit-Assemblers durch den jeweils aktuellen GCC.