JavaScript is currently disabled.Please enable it for a better experience of Jumi. IAR: Mera C++ i åttabitarsprocessorer

Programspråket Embedded C++ är alltför begränsat för åttabitarsutvecklare.Det anser svenska kompilatorsäljaren IAR. Företagets kompilator får nu uttrycksmöjligheter som tidigare bara funnits i den fullskaliga versionen av C++.
Det finns de som skriver programvara för åttabitarsprocessorer i programmeringsspråket C++. De använder gärna standarden Embedded C++ (EC++), som undviker vissa resurskrävande delar av C++.

Men svenska programverktygsutvecklaren IAR tycker att EC++ är för begränsat, och lägger nu tillbaka en del av den grammatik som EC++ plockat bort.

IAR lägger bland annat tillbaka mallar (templates) som är funktioner som lämnar en lucka för vilken typ av värde som behandlas. Programmeraren kan skapa en "stack med element av typen X" där X efteråt kan preciseras till heltal, text eller annan godtycklig datatyp.

- Man måste betänka det historiska perspektivet. När EC++ standarden fastslogs för sju, åtta år sedan fanns ingen stabil standard för Templates, vilket var huvudanledningen till att man då valde att inte ta med den, säger Mats Ullström, produktchef för IAR.

- Templates är en mycket användbar funktionalitet i C++ som har efterfrågats från ett flertal av våra kunder. Exakt hur många kan jag inte säga, säger Mats Ullström.

Andra uttrycksmöjligheter som IAR återtar från C++ är separata namnrum som tillåter funktioner från olika programvarubibliotek att ha samma namn, attributet "mutable" som tillåter delar av en konstant att ändras, samt omvandlingarna static, reinterpret och const cast som bland annat kan förvandla en konstant minnespekare till en variabel minnespekare.

IAR stöder dessutom uttrycksmöjligheter som varken finns i Embedded C++ eller C++. Programmeraren kan till exempel bestämma på vilka minnesadresser som programkod och data ska lagras.

De nya uttrycksmöjligheterna finns till att börja med i IAR Embedded Workbench för ARM och MSP430.
IAR går inte hela vägen och stöder hela programspråket C++ för 8-bitare. Exempelvis utelämnas Multipelt arv, dynamiska typomvandlingar och undantagshantering.

- Samtliga dessa har en rejäl påverkan på applikationens storlek och är därför inte tillämpliga på 8-bitarschip, säger Mats Ullström.

Jan Tångring

Prenumerera på Elektroniktidningens nyhetsbrev eller på vårt magasin.


MER LÄSNING:
 
KOMMENTARER
Kommentarer via Disqus

Rainer Raitasuo

Rainer
Raitasuo

+46(0)734-171099 rainer@etn.se
(sälj och marknads­föring)
Per Henricsson

Per
Henricsson
+46(0)734-171303 per@etn.se
(redaktion)

Jan Tångring

Jan
Tångring
+46(0)734-171309 jan@etn.se
(redaktion)