iX 2/2017
S. 94
Wissen
Embedded-Programmierung
Aufmacherbild

Ressourcen schonen mit C++-Funktionen

Schonzeit

Embedded-Programme sollten nicht nur eine lange Lebenszeit haben, sondern auch besonders sorgfältig mit ihren Ressourcen umgehen. Daher ist es in diesem Umfeld meist wenig sinnvoll, dass Entwickler das Speichermanagement mit new und delete selbst in die Hand nehmen. Sinnvolle Alternativen bieten neue Pointer und Container.

Zwei vorangegangene Artikel zur Embedded-Programmierung mit C++ ([1], [2]) haben bereits Strategien und Funktionen vorgestellt, die sicherheitskritischen Anforderungen genügen, sowie solche, die Anwendungen bereits beim Kompilieren optimieren. Die Embedded-Programmierung zeichnet sich durch ihren sorgfältigen Umgang mit Ressourcen aus. Die bereits im letzten Artikel vorgestellte Move-Semantik ist aber bei Weitem nicht alles, was C++ hierfür zu bieten hat. placement new für das exakte Speichermanagement der Applikation und insbesondere der neue Container std::array gehören in den Werkzeugkasten jedes professionellen C++-Entwicklers.

Explizites Speichermanagement in C++ ist komplex, aber auch mindestens ebenso leistungsfähig. Leider ist diese spezielle Domäne von C++ weitgehend unbekannt. Entwickler können mit ihr Objekte direkt in einem statischen Speicher, einem reservierten Bereich oder einem Speicherpool erzeugen. Funktionen, die für sicherheitskritische Applikationen insbesondere in der Embedded-Welt einen entscheidenden Mehrwert liefern. Doch vor der Kür steht die Pflicht. Zur Speicherzuweisung kommen die Operatoren new beziehungsweise new[] [a], zur Speicherfreigabe die Operatoren delete beziehungsweise delete[] [b] zum Einsatz. (Zu Quellen im Web siehe „Alle Links“ am Ende des Artikels.) Durch einen kleinen Wrapper um die globalen Operatoren new und delete lässt sich das Speicherverhalten offenlegen.

Alle heise-Magazine mit heise+ lesen

3,99 € / Woche

Ein Abo, alle Magazine: c't, iX, Mac & i, Make & c't Fotografie

  • Alle heise-Magazine im Browser und als PDF
  • Alle exklusiven heise+ Artikel frei zugänglich
  • heise online mit weniger Werbung lesen
  • Vorteilspreis für Magazin-Abonnenten
Jetzt unbegrenzt weiterlesen Vierwöchentliche Abrechnung.

Alle Ausgaben freischalten

2,60 € 1,49 € / Woche

Nach Testphase 2,60 € wtl.

  • Zugriff auf alle iX-Magazine
  • PDF-Ausgaben zum Herunterladen
  • Zugriff in der iX-App für unterwegs
  • Über 35% günstiger im Testzeitraum
Jetzt testen Nach Testphase jederzeit monatlich kündbar.

Ausgabe einmalig freischalten

6,90 € / Ausgabe

Diese Ausgabe lesen – ohne Abobindung

  • Sicher einkaufen im heise shop
  • Magazin direkt im Browser lesen
  • Dauerhaft als PDF behalten