C++1x für eingebettete Systeme kompakt


Beschreibung

Die Flexibilität der Sprache C++ hat sich mit den Neuerungen durch den Standard C++11 und seinen Nachfolgern noch weiter verbessert. Einige dieser Neuerungen sind für eingebettete Systeme besonders interessant. Berechnungen von der Lauf- in die Compile-Zeit zu verschieben ist jetzt möglich. Dadurch entsteht ein kleinerer Code und eine erhöhte Geschwindigkeit.

Sind Sie es außerdem leid, ++i zu schreiben und sich immer noch gelegentlich mit > und >= zu vertun? C++1x unterstützt Sie, indem es wiederkehrende Schreibarbeiten dieser Art dem Compiler überlässt. Als Resultat gewinnen Sie mehr Zeit, um wirklich anspruchsvollen Code zu schreiben.

In dieser eintägigen Schulung erfahren Sie, wie C++1x Sie unterstützt, um einen schnelleren und robusteren Code zu schreiben.

Inhalt

In dieser Schulung lernen Teilnehmer C++1x mit Praxisbezug zu eingebetteten Systemen kennen und anwenden. Obwohl C++1x nicht speziell für eingebettete Systeme entwickelt wurde, enthält die Sprache verschiedene wertvolle Eigenschaften für solche Systeme. Die Teilnehmer erhalten das Wissen, um bewusster Code-Größe oder Performance zu optimieren.

Ein Beispiel ist static_assert. Mit dieser Funktion, ist es möglich Bedingungen bereits zur Compile-Zeit zu überprüfen. Berechnungen können mit constexpr-Funktionen ebenfalls bereits zur Compile-Zeit erledigt werden. In beiden Fällen wirkt sich die Anwendung positiv auf das Laufzeitverhalten und die Code-Größe aus. Der Einsatz von Move-Semantik verspricht bei Kopieroperationen schneller und effizienter zu sein. Teilnehmer lernen, wie Move-Semantik funktioniert, was bei ihrem Einsatz zu beachten ist und in welchen Situationen das Feature vom Compiler deaktiviert wird.

Im Verlauf der Schulung lernen die Teilnehmer, welche neuen Features von C++1x sie nutzbringend in ihre Code-Basis aufnehmen können. Komplexe Probleme lassen sich durch die erweiterte Unterstützung des Compilers einfacher formulieren. Der neu entstandene Code wird dadurch oft robuster und weniger fehleranfällig. Alle Teilnehmer, die mit einem älteren Compiler ohne C++1x arbeiten, erhalten Tipps und Anregungen, wie sie neue Features in ihrem Code verwenden können.

Nach der Schulung schreiben Teilnehmer klareren und präziseren Code. Sie werden u. a. Code-Reviews einfacher und sicherer bestehen.

Agenda

  • Sauberer und moderner C++ Code
  • Dinge zur Compile-Zeit erledigen: constexpr, constexpr if
  • Die richtige Wahl zur richtigen Zeit: Präprozessor, inline oder constexpr
  • ROM-barkeit
  • Interessante C++1x Elemente für eingebettete Systeme: override, auto, literal-operator, alignof, alignas
  • Einfluss von C++1x auf Performance und Code-Größe
  • GSL als Unterstützung: narrow_cast, not_null, finally
  • Templates: die richtige Dosis
  • Verwendung der neuen initializier-Listen
  • Neue Features in eine existierende Code-Basis portieren

Mit dem Kurs erhalten Sie

  • Ein qualitativ hochwertiges Handout als farbiges PDF, das alle Verweise und eine Liste der Akronyme enthält. Sodass Sie nach dem Training jederzeit nachlesen können.
  • Den Quell-Code für die Übungen inklusive Musterlösungen als ZIP-Datei.
  • Teilnahmebescheinigung für Ihren Lebenslauf.
  • Eins meiner Bücher kostenlos, damit Sie Ihr Wissen vertiefen können.