![Aufmacherbild](/scale/geometry/900/q65/select/ix/2016/10/1475760057813020/contentimages/image-1474608861328153.jpg)
Embedded-Programmierung mit C++
Fit fürs Kleine
Hartnäckig halten sich diverse der Programmiersprache C++ entgegengebrachte Vorurteile. Dabei ist man weder gezwungen, in C++ objektorientiert zu programmieren, noch benötigt die Sprache zu viel Speicher. Vielmehr lassen sich Features des modernen C++ sogar gut in sicherheitskritischen Embedded-Programmen nutzen.
Bjarne Stroustrup bringt es in seinen FAQ zu C++11 [a] auf den Punkt. Eins der Ziele des C++-Standardisierungskomitees war es, die Sprache für die Entwicklung von Embedded-Systemen zu optimieren: „Improve performance and ability to work directly with hardware – make C++ even better for embedded systems programming and high-performance computation.“ Wenn das kein Versprechen ist. Doch wie sieht die C++-Realität aus? (Zu Quellen im Web siehe „Alle Links“ am Ende des Artikels.)
Zuerst stellt sich die Frage, was die Embedded-Programmierung auszeichnet. Darauf gibt es leider keine einfache Antwort, da es kein typisches Embedded-System gibt. Die Vielfalt ist einfach zu groß und reicht von RFID-Transpondern mit einer Baugröße von wenigen Millimetern über Herzschrittmacher, die für lange Zeit zuverlässig ihre Arbeit verrichten müssen, und Defibrillatoren, die aus mehreren Boards und noch mehr CPUs bestehen und einige Jahre auf ihren Einsatz warten müssen, bis hin zu Autos mit über hundert Steuergeräten.