Dieses Training zielt darauf ab, C++ als gängige Erweiterung von C bei der objektorientierten Entwicklung eingebetteter Systeme vorzustellen. Da C++ C umschliesst, führt uns dieses Training auf natürliche Weise von C zu C++ und gibt Einblick in die Implementierungsdetails von C++. Dies ist insbesondere beim Einsatz von C++ in ressourcenbeschränkten eingebetteten Umgebungen von grossem Wert. Der C++-Standard unterliegt derzeit einer grösseren Revision, auch bekannt als C++11, und eine weitere (C++14) ist bereits in Entwicklung. Dieser Kurs behandelt Themen, die durch diese Überarbeitungen eingeführt wurden und besonders nützlich sind, wie hochperformantes Speicher-Management, Concurrent Programming unter Ausnutzung von Multicore-Umgebungen sowie Bare-Metal-Programmierung nahe der Hardware.
ZIELE/VORTEILE
Das Hauptziel dieses Kurses ist, dass Sie C++ auf eine «korrekte» Weise anwenden können.
- Vorstellung von C++ als alternative objektorientierte Sprache im Kontext eingebetteter Systeme
- Aufzeigen der Ähnlichkeiten und Unterschiede zur C-Sprache
- Verstehen verschiedener Speicher-Management-Strategien – insbesondere der mit C++11 eingeführten Move-Semantik
- Einen Blick unter die Haube werfen und verstehen, welche verschiedenen Paradigmen in C++ zu welchem Maschinencode führen
- Nutzung von Templates zur Erreichung typsicherer Hochleistungs-Abstraktionen für Bare-Metal-Programmierung nahe der Hardware – memory-mapped I/O sowie Interrupts – insbesondere die mit C++11 eingeführten Variadic-Templates
- Bereitstellung einiger nützlicher Design Patterns, besonders geeignet im eingebetteten Kontext
- Einige Übungen zur Vertiefung einiger Konzepte
ZIELGRUPPE/TEILNEHMER
Dieses Training richtet sich an C++-Programmierer, die beabsichtigen, C++ in einem eingebetteten Systemkontext einzusetzen.
VORKENNTNISSE
Der Kurs setzt grundlegende Kenntnisse in der C++-Programmierung voraus, entsprechend unseren Trainings «C++ – Stufe 1» und «C++ Stufe 2 – Einführung von C++11».
PRAKTISCHE ÜBUNGEN
Während des Trainings werden Sie die präsentierten Konzepte in einer Reihe von Übungen praktisch anwenden. Wir verwenden die offene und kostenlose integrierte Entwicklungsumgebung von Eclipse.
Mehr Informationen...