Embedded C++
From Wikipedia, the free encyclopedia
To address the shortcomings of C++ for embedded applications, an industry group led by major Japanese CPU manufacturers, including NEC, Hitachi, Fujitsu, and Toshiba, has set out to define a new dialect of C++ called EC++. The goal of the effort is to preserve the most useful object-oriented features of the C++ language yet minimize code size while maximizing execution efficiency and making compiler construction simpler.
Embedded C++ is a proper subset of C++, i.e. it has no additions. The following language features have been removed :-
- Multiple inheritance
- Virtual base classes
- Run-time type information (typeid)
- New style casts (static_cast, dynamic_cast, reinterpret_cast and const_cast)
- The mutable type qualifier
- Namespaces
- Exceptions
- Templates
The language has not had a good reception with many expert C++ programmers, in particular Bjarne Stroustrup says [1] "To the best of my knowledge EC++ is dead (2004), and if it isn't it ought to be."
A criticism is that EC++ is intended for use 32bit instead of focussing on the big market of 8/16 bit microcontrollers.[1]
In principle an EC++ program can be compiled with any C++ compiler, however a specific EC++ compiler will be easier to build and might create code that is more efficient than the code from a C++ compiler. Metrowerks and Tasking Software provide compilers with specific EC++ support for embedded platforms.
[edit] References
- ^ The Embedded Muse 13, January 6, 1997