Schulungen, Coaching und Technologieberatung

deen

FavoritenDruckenE-Mail Adresse

Embedded Programmierung mit modernem C++

Beginn:
24. Aug 2020
Ende:
26. Aug 2020
zuletzt aktualisiert:
28. Mär 2020
Kurs-Nr.:
11
Treffer:
223
Favorit:
0 Favorit
Preis:
1500,00 EUR pro Platz (zzgl. MwSt.)
Ort:
Großraum Stuttgart
Gruppe:
Entwickler
Diesen Kurs buchen
Level:
Fortgeschrittene
Plätze:
15
Trainer:

Beschreibung

 Dauer

  • 3 Tage

Begleitliteratur

Vorgehensweise

  • Theorie und Praxis mit vielen Übungen, zu denen Sie den Sourcecode und die Musterlösungen erhalten
  • Sie benötigen ein Laptop mit einem aktuellen C++ Compiler (mind. C++11)

Ziel

  • Die Vorteile von modernem C++ in der embedded Programmierung kennen lernen
  • Besonderen Anforderungen der embedded Programmierung verstehen und C++'s Antworten einsetzen

Standard

  • C++11/C++14 Standard

Inhalt

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
    • Vermittlung der Grundlagen
    • Vorteile von Templates vorstellen
    • Vergleich von statischem Polymorphismus (Templates) mit dynamischen Polymorphismus (Objekt-Orientierung)

Eingeschränkte Ressourcen

  • Move-Semantik einsetzen um
    • Teures Kopieren durch billiges Verschieben zu ersetzen
    • Daten nur dann zu erzeugen, wenn es unbedingt notwendig ist
    • Daten zu verschieben, die nicht kopiert werden können
  • Perfekt Forwarding um Funktions-Argumente identisch weiterzureichen
  • Speicherverwaltung
    • Den Einsatz von new und delete besser verstehen
    • placement new für besondere Einsatzzwecke verwenden
    • Speicherlöcher durch placement new finden
  • Den neuen Container std::array kennen lernen, der die Speicher- und Laufzeitcharakteristik des C-Arrays mit dem Interface des C++-Vektors verbindet
  • Smart Pointer
    • Exklusive Besitzverhältnisse mit std::unique_ptr
    • Geteilte Besitzverhältnisse mit std::shared_ptr
    • Zeitweise Besitzverhältnisse mit std::weak_ptr
    • Performanz- und Ressourcenvergleich der Smart Pointer

Mehrere Aufgaben gleichzeitig

  • Das Speichermodell
    • Sequenzielle Konsistenz verstehen
    • Atomare Datentypen kennen lernen
  • Threads
    • Erzeugen eines Threads
    • Lebenszeit eines Threads
    • Datenübergabe an einen Thread
  • Gemeinsame von Threads verwendete Daten
    • Schutz mit Mutexen
    • Schutz mit Locks
  • Daten thread-sicher initialisieren
    • Konstanten Ausdrücken
    • Die Funktion std::call_once und dem Flag std::once_flag
    • Statischen Variablen
  • Thread lokale Variablen
  • Bedingungsvariablen
    • Synchronisation von Threads
    • Gefahren von Bedingungsvariablen
  • Task
    • std::async
    • std::packaged_task
    • std::promise und std::future

Teilnahmebedingungen:

Die allgemeinen Teilnahmebedingungen befinden sich in den AGBs.

 

Diesen Kurs buchen: Embedded Programmierung mit modernem C++

Einzelpreis

Teilnehmerdaten

Rechnungsadresse

Ich akzeptiere die Teilnahmebedingungen.. *

* notwendige Angaben

Kategorie

Zum Seitenanfang