From Seo Wiki - Search Engine Optimization and Programming Languages
Embedded C++ (EC++) is a dialect of the C++ programming language for embedded systems. It was defined by an industry group led by major Japanese CPU manufacturers, including NEC, Hitachi, Fujitsu, and Toshiba, to address the shortcomings of C++ for embedded applications. 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. The official web site states the goal as "to provide embedded systems programmers with a subset of C++ that is easy for the average C programmer to understand and use".
Differences from C++
Embedded C++ is a proper subset of C++. 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
An EC++ program can be compiled with any C++ compiler.
However a compiler specific to EC++ may have an easier time doing optimization.
Compilers specific to EC++ are provided by companies such as:
- Freescale Semiconductor (formerly Metrowerks),
- Tasking Software (part of Altium Limited),
- Green Hills Software.
The language has not had a good reception with many expert C++ programmers. In particular, Bjarne Stroustrup says, "To the best of my knowledge EC++ is dead (2004), and if it isn't it ought to be." In fact, the official website has not been updated since 2002.
The stated reason for removing language features like templates and namespaces (and by extension major parts of the C++ standard library) is "too new to be used widely". Those features were new in the late 1990s, but are widely used and relied upon in C++ code today.
A criticism is that EC++ is intended for use with 32-bit architecture instead of focusing on the big market of 8/16-bit microcontrollers.
- ↑ 1.0 1.1 EC++ Questions and Answers
- ↑ "Embedded C++ compiler technology". Tasking corporate web site. http://www.tasking.com/resources/technologies/compilers/ecpp.
- ↑ "Green Hills Optimizing C/C++/EC++ Compilers". Green Hills Software corporate web site. http://www.ghs.com/products/optimizingC++EC++Compilers.html.
- ↑ "What do you think of EC++?". Bjarne Stroustrup's FAQ. http://www.research.att.com/~bs/bs_faq.html#EC++.
- ↑ Jack Ganssle (1997-01-06). "EC++". The Embedded Muse 13: 1–2. http://www.ganssle.com/tem/tem13.pdf.
- Official Embedded C++ Website
- Background and Objectives of the Embedded C++ Specification Development
- Embedded C++: An Overview, by P.J. Plauger, Embedded Systems Programming, December 1997
- Technical Report on C++ Performance, by WG 21 of ISO Subcommittee SC 22de:Embedded C++