iX 10/2020
S. 144
Praxis
Embedded-Software

C++-Metaprogrammierung mit Templates für eingebettete Systeme

Brückenschl?ger

Tobias Kotulla, Dirk Petrautzki

Hardwarenah bedeutet meist hardwarespezifisch zu programmieren. Mehr Portabilit?t bei gleichbleibend schlanken Binaries bietet dagegen modernes C++.

Quellcode, der auf unterschiedlichen Architekturen übersetzt werden soll, muss einfach portierbar sein. Das l?sst sich in der Welt der eingebetteten Systeme aber oft nur schwer erreichen. Die Embedded-Programmierung verleitet Entwickler schnell dazu, die Grenzen klarer Strukturierungen aufzuweichen und hardwarespezifischen Code zu schreiben, da sie sich gedanklich tief in der Ebene der Hardware befinden. Das erschwert oder verhindert eine zukünftige Portierung. Modernes C++ bietet hierfür einen Ausweg, der Entwickler – beim Umsetzen eines guten Grundmodells – dazu zwingt, sich an klare Abgrenzungen zu halten und dadurch die Portierbarkeit zu gew?hrleisten.

Mit dem Einsatz von C++ statt C und der Schaffung zus?tzlicher Abstraktionsebenen stellt sich die Frage nach eventuellem zus?tzlichen Speicherbedarf und der Auswirkung auf die Performanz. Der Artikel zeigt, dass mit Metaprogrammierung unter Verwendung von C++-Templates diese Befürchtung unbegründet ist.

Kommentare lesen (1 Beitrag)

汤姆叔叔影院