
Die besondere Rolle des Compilers in modernem C++
Seit seiner Modernisierung durch den im Jahr 2011 veröffentlichten Standard C++11, und den darauf folgenden Standards C++14, C++17 und nun C++20, erlebt ein Dinosaurier unter den Programmiersprachen, das gute alte C++, eine Renaissance. Insbesondere im technischen und oftmals sicherheitskritischen Umfeld auf Embedded Systemen, aber auch in der anspruchsvollen Entwicklung von hoch performanten Anwendungen, ist C++ nach wie vor die erste Wahl.
Mächtige Werkzeuge
Im Unterschied zu den reinen Übersetzern in vielen anderen, populären Programmiersprachen sind moderne C++-Compiler sehr mächtige Werkzeuge. Sie können sehr viel mehr als nur Sourcecode in eine Binärdatei umwandeln. Template-Metaprogrammierung (TMP) war ja schon immer eine Technik, um den Compiler temporären Quellcode erzeugen zu lassen und Berechnungen zur Compile-Zeit durchzuführen. Mit den neuen Sprachstandards seit C++11 sind weitere Optionen hinzugekommen. So können C++-Compiler nun vom Entwickler geschriebenen Code ausführen (compile time function evaluation), Typ-Prüfungen und Typ-Vergleiche durchführen, und vieles mehr.
Codequalität und Effizienz steigern
In seinem Vortrag zeigt Stephan, wie man dadurch nicht nur die Codequalität steigern kann. Auch für die Effizienzsteigerung des geschriebenen Codes können Compile-Time-Computations ein Zugewinn sein.
Fachvortrag auf dem Embedded Software Engineering (ESE)-Kongress, 30.11.21 online