heise-Angebot

Portabilität statt hardwarespezifische Programmierung mit modernem C++

Zwei Artikel der aktuellen iX 10/2020 tauchen tief in die C++-Programmierung ein und widmen sich den Themen Portabilität und generischem Code mit Type Traits.

In Pocket speichern vorlesen Druckansicht 13 Kommentare lesen
Portabilität statt hardwarespezifische Programmierung mit modernem C++
Lesezeit: 1 Min.

Wer für eingebettete Systeme hardwarenah programmieren will, muss meist hardwarespezifisch programmieren – so die weiterverbreitete Annahme, aber stimmt das? Wie Tobias Kotulla und Dirk Petrautzki in der aktuellen Oktober-iX zeigen, lässt sich mit modernem C++ mehr Portabilität bei gleichbleibend schlanken Binaries erreichen.

Den besten Weg aus der engen Hardwarebindung bietet die C++-Metaprogrammierung mit ihren variadischen rekursiven Templates. Jedoch müssen Entwickler hierbei die Inkompatibilitäten zwischen den C-Code-Teilen beachten, zum Beispiel beim Behandeln von Interrupts und den C++-Templateklassen.

Am Ende sieht sich der Embedded-Entwickler mit einer erhöhten Komplexität konfrontiert. Doch die Vorteile der Portabilität, Übersichtlichkeit und Wartbarkeit überwiegen. Details und Praxistipps finden Programmierer im Artikel.

Außerdem widmet sich ein zweiter Artikel der iX 10/2020 generischem Code mit den Type Traits der Standardbibliothek. Hierbei handelt es sich um eine Metaprogrammiertechnik, mit der sich Typeigenschaften zur Kompilierzeit abfragen lassen. Mit Traits-Klassen erhält der Entwickler modular erweiterbaren Code, da sie typspezifischen Code sammeln und vom Rest isolieren.

Wie genau das funktioniert, erklärt Detlef Wilkening im Artikel. Weitere Themen der Oktober-iX sind unter anderem die Sicherheit im Active Directory, effiziente Software-Tests und eine Marktübersicht zu Edge-Servern.

Siehe dazu auch:

(fo)