In dieser Schulung soll C++ als die übliche Erweiterung von C bei der Anwendung objektorientierter eingebetteter Systementwicklung vorgestellt werden. Da C++ C umschließt, führt uns diese Schulung auf natürliche Weise von C zu C++ und wirft einen Blick unter die Haube, wie C++ implementiert ist. Der C++-Standard wurde vor kurzem einer größeren Überarbeitung unterzogen, auch bekannt als C++11, und eine neue Version ist auf dem Weg, C++14. Dieser Kurs befasst sich mit Themen, die mit diesen Überarbeitungen eingeführt wurden und besonders nützlich sind, wie z. B. Hochleistungsspeicherverwaltung, Gleichzeitigkeit unter Verwendung einer Multicore-Umgebung und Bare-Metal-Programmierung nahe an der Hardware.
ZIEL/VORTEILE
Das Hauptziel dieses Kurses besteht darin, dass Sie in der Lage sind, C++ auf "richtige Weise" zu verwenden.
- Einführung in C++ als objektorientierte Sprachalternative im Kontext eingebetteter Systeme
- Aufzeigen der Gemeinsamkeiten - und Unterschiede - mit der Sprache C
- verschiedene Speicherverwaltungsstrategien zu verstehen - insbesondere die mit C++11 eingeführte Move-Semantik
- einen Blick unter die Haube werfen und verstehen, was die verschiedenen Paradigmen in C++ im Maschinencode bewirken
- Verwendung von Templates, um typsichere Abstraktionen hoher Ordnung für die hardwarenahe Bare-Metal-Programmierung zu erreichen - speicherabbildende E/A sowie Interrupts - insbesondere die mit C++11 eingeführten variadischen Templates
- Bereitstellung einiger nützlicher Entwurfsmuster, die insbesondere in einem eingebetteten Kontext anwendbar sind
- Einige Übungen, um einige Konzepte zu üben
ZIELGRUPPE/TEILNEHMER
Diese Schulung richtet sich an C++-Programmierer, die beabsichtigen, C++ in einem eingebetteten Systemkontext zu verwenden.
VORKENNTNISSE
Der Kurs setzt Grundkenntnisse in der C++-Programmierung voraus, entsprechend unseren Schulungen "C++ - Level 1" und "C++ Level 2 - Einführung in C++11".
PRAKTISCHE ÜBUNGEN
Während des Kurses werden Sie die vorgestellten Konzepte in einer Reihe von Übungen anwenden. Wir werden die offene und kostenlose integrierte Entwicklungsumgebung von Eclipse verwenden
Mehr Informationen...