SW-Entwicklung und Implementierung

Mit unseren Schulungen aus dem Bereich Softwareentwicklung und Implementierung werden Sie in die Lage versetzt, die Programmiersprachen, die gängigen Bibliotheken und die jeweiligen Implementierungsumgebungen zu beherrschen.

Wir bieten Schulungen zu den Programmiersprachen C und C++ an, dabei können wir besonders auf deren Einsatz bei der Entwicklung von Embedded Systemen eingehen. Unsere Philosophie bzgl. der Inhalte folgt unseren eigenen langjährigen Erfahrungen als Softwareentwickler: beide Aspekte müssen durchdrungen werden – das wirkliche Verständnis der Konstrukte als auch die Tipps und Tricks im alltäglichen Umgang mit der Programmiersprache.

C++ ist eine der verbreitesten Programmiersprachen und wird sowohl in der Systemprogrammierung als auch in der Anwendungsprogrammierung eingesetzt. Gerade in der Entwicklung von Embedded Systems nimmt C++ als Programmiersprache eine Schlüsselstellung ein. Unter modernem C++ versteht man die ab C++11 eingeführten Änderungen und Erweiterungen des C++-Standard, die es ermöglichen noch effektiveren und noch robusteren Code zu schreiben. Inzwischen stehen für alle geeigneten Microcontroller Compiler zur Verfügung, die modernes C++ unterstützen.

Performanter Code hat in vielen Anwendungen höchste Priorität. Tatsächlich hält C++ viele Elemente bereit, um genau das zu erreichen, ohne faule Kompromisse bzgl. „sauberer“ Objektorientierung machen zu müssen. In einigen Teams werden jedoch genau diese Elemente nicht oder ungeschickt verwendet und damit das Potential mit C++ nicht ausgeschöpft. Performance-Tuning kann auf vielen Ebenen der SW-Entwicklung angesetzt werden. Dabei spielen der Einsatz geeigneter Bibliotheken, der professionellen Anwendung moderner Bausteine fürs Multithreading u.v.m. eine Rolle.

C++ ist durch den neuen Standard C++11/14/17 umfassend erweitert worden, teilweise um sehr mächtige Sprachelemente. Alle gängigen C++-Compiler unterstützen mittlerweile den Standard. Gerade bei der Entwicklung von Embedded Systems lohnt sich der Umstieg auf modernes C++, da es weniger Fehlerquellen als früherer Standards enthält und außerdem erlaubt, performanteren und robusteren Code zu schreiben.

Multithreading-Anwendungen eröffnen Möglichkeiten, die bei Singlethreaded-Anwendungen nicht zur Verfügung stehen. Die effektive Ausnutzung von Multi-Core-Architekturen ist eines der aktuell häufig diskutierten Beispiele. Allerdings sind die Anwendung von Design Patterns für nebenläufige Anwendungen, die Auswahl passender Bibliotheken und der professionelle Umgang mit Synchronisationsmitteln u.ä. im Entwickleralltag nicht einfach, oft wird die Komplexität der Aufgaben unterschätzt.

Diese Schulung behandelt gängige Sprachkonstrukte in C++ in größerer Tiefe und zeigt deren gegenseitige Abhängigkeiten, Gefahren und Möglichkeiten in der Praxis auf. Sauberer Klassenaufbau, sicheres und effektives Memory-Management und ein Überblick über die C++ Standardbibliothek helfen, schwer auffindbare Laufzeitfehler zu vermeiden.

Ausgehend von dem Basiswissen um die Besonderheiten des Multithreading und der grundlegenden Higher Level Building Blocks wird diskutiert, wie man Performance-Potentiale mit einfachen Mitteln ausschöpfen kann. Robustheit und Lesbarkeit sollen dabei nicht kompromittiert werden. Auf der technischen Ebene kommen auch stärker plattformabhängige Elemente zum Einsatz. Es wird großen Wert darauf gelegt, die Randbedingungen und Seiteneffekte der Bausteine zu diskutieren, um im Projekt die Risiken im Vorfeld besser einschätzen zu können.

Seite 1 von 2

Jetzt Kontakt aufnehmen!