Dieses Training soll C++ als gemeinsame Erweiterung von C für die objektorientierte Entwicklung eingebetteter Systeme einführen. Da C++ C umschließt, führt uns dieses Training auf natürliche Weise von C zu C++. Es beleuchtet auch, wie C++ implementiert wird, was besonders wertvoll ist, wenn C++ in einer ressourcenbeschränkten eingebetteten Umgebung eingesetzt wird. Das C++-Standard wurde kürzlich umfangreich überarbeitet und als C++11 bekannt. Eine neue Version, C++14, steht kurz bevor. Dieser Kurs behandelt Themen, die mit diesen Überarbeitungen eingeführt wurden und besonders nützlich sind, wie z.B. hochleistungsfähige Speicherverwaltung, Konkurrenz unter Nutzung einer Multicore-Umgebung und Low-Level-Programmierung nahe an der Hardware.
ZIEL/VORTEILE
Das wichtigste Ziel dieses Kurses ist es, Ihnen zu ermöglichen, C++ auf eine „richtige“ Weise einzusetzen.
- C++ als objektorientierte Sprache in einem Kontext eingebetteter Systeme einführen
- Die Ähnlichkeiten – und Unterschiede – zur C-Sprache zeigen
- Verschiedene Speicherverwaltungsstrategien verstehen – insbesondere die mit C++11 eingeführten Move-Semantiken
- Unter die Haube schauen und verstehen, was verschiedene Paradigmen in C++ im Maschinencode bedeuten
- Templates verwenden, um typesichere abstrakte Konzepte für Low-Level-Programmierung nahe an der Hardware zu realisieren – insbesondere die mit C++11 eingeführten variadischen Templates
- Nützliche Design Patterns vorstellen, die besonders in einem eingebetteten Kontext anwendbar sind
- Eine Reihe von Übungen zur Praxis einiger Konzepte durchführen
ZIELGRUPPE/TEILNEHMER
Dieses Training richtet sich an C++-Programmierer, die beginnen möchten, C++ in einem Kontext eingebetteter Systeme zu verwenden.
VORKENNTNISSE
Der Kurs erfordert grundlegende Kenntnisse in C++-Programmierung, vergleichbar mit unseren Schulungen „C++ – Level 1“ und „C++ Level 2 – Einführung in C++11“.
PRAXISÜBUNGEN
Während des Trainings üben Sie die vorgestellten Konzepte anhand einer Reihe von Übungen. Wir verwenden die kostenlose und offene integrierte Entwicklungsumgebung von Eclipse.
Mehr Informationen...