heise-Angebot

Programmierpraxis: Code besser verstehen mit C++ Insights

Die aktuelle iX 6/2020 zeigt, wie Entwickler übersetzten Code mit C++ Insights nachvollziehen können.

In Pocket speichern vorlesen Druckansicht 24 Kommentare lesen
Programmierpraxis: Code besser verstehen mit C++ Insights
Lesezeit: 1 Min.

Auch in der aktuellen Juni-iX gibt ein Artikel Praxistipps für C++: Der neue Teil der Serie widmet sich den C++ Insights. Sie sollen Entwicklern dabei helfen, den generierten Code besser zu verstehen. Dass das nicht immer leicht ist, liegt am hohen Abstraktionsgrad der Programmiersprache – für Einsteiger stellen zum Beispiel die automatische Typdeduktion mit auto oder decltype und die speziellen Funktionen, die C++ in Klassen zum Teil automatisch erzeugt, eine Hürde dar.

Erfahrene Entwickler kennen diese Mechanismen in der Regel gut – für sie sind eher die Template-Instanziierungen bei Variadic-Templates oder die Template-Metaprogrammierung eine Herausforderung. Zwar ist der automatisch und nach festen Regeln generierte Code fehlerfrei, doch sind diese Regeln nicht bekannt und ist der Code umfangreich, verliert man schnell den Überblick.

Bei C++ Insights handelt es sich um eine Web-Applikation. Auf cppinsights.io können Entwickler ihren Code einfügen, anschließend übersetzt das Programm ihn in nativen Code. Die Erzeugungsregeln lassen sich so nachvollziehen. Im Hintergrund kommt der Compiler Clang des LLVM-Projekts zum Einsatz, der einen einen Abstract Syntax Tree (AST) als Zwischenergebnis ausgibt. Er enthält alle modifizierten und generierten Elemente des Codes, die Insights in lesbaren C++-Code rückübersetzt.

Eine ausführliche Anleitung zur Praxis mit C++ Insights sowie viele Beispiele finden Leser im Artikel:

(fo)