Schulung Embedded Programmierung mit modernem C++
Ziele der Schulung
1. Die Vorteile von modernem C++ in der Embedded-Programmierung kennen lernen
2. Besonderen Anforderungen der Embedded-Programmierung verstehen und C++ dafür einsetzen
# Sicherheitskritische Systeme
Vereinheitlichte Initialisierung mit {} überall anwenden und dadurch die heimliche Verengung von Datentypen vermeiden
Automatische Typableitung kennen lernen um Refaktoring von Code zu unterstützen und Variablen immer zu initialisieren
Aufzählungen mit Gültigkeitsbereich als typsichere Variante zu klassischen Aufzählungen kennen lernen
Mit nullptr Zeiger die Mehrdeutigkeiten der Zahl 0 und dem Makro NULL verhindern
Benutzerdefinierte Literale einsetzen um Zahlen mit Einheiten zu verwenden
Zusicherungen an den Code mit static_assert vom Compiler prüfen lassen
# Hohe Performanz
Selbst optimierenden Code mit Type-Traits implementieren
Konstante Ausdrücke mit constexpr verwenden um teuere Berechnung auf die Compilezeit zu verschieben
Durch den Umstieg von geordnete auf ungeordnete assoziative Container die Applikation deutlich beschleunigen
Templates
# Eingeschränkte Ressourcen
Move-Semantik einsetzen um
Perfekt Forwarding um Funktions-Argumente identisch weiterzureichen
Speicherverwaltung
Den neuen Container std::array kennen lernen, der die Speicher- und Laufzeitcharakteristik des C-Arrays mit dem Interface des C++-Vektors verbindet
Smart Pointer
# Mehrere Aufgaben gleichzeitig
Das Speichermodell
Threads
Gemeinsame von Threads verwendete Daten
Daten thread-sicher initialisieren
Thread lokale Variablen
Bedingungsvariablen
Task