Jump to content

Embedded C++

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by 200.88.188.167 (talk) at 04:31, 9 May 2010 (External links). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

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[citation needed] 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"[1].

Differences from C++

Embedded C++ is a proper subset of C++. The following language features have been removed:

Compilation

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:

Criticism

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."[4] 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"[1]. 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.[5]

References

  1. ^ a b EC++ Questions and Answers
  2. ^ "Embedded C++ compiler technology". Tasking corporate web site.
  3. ^ "Green Hills Optimizing C/C++/EC++ Compilers". Green Hills Software corporate web site.
  4. ^ "What do you think of EC++?". Bjarne Stroustrup's FAQ.
  5. ^ Jack Ganssle (1997-01-06). "EC++" (PDF). The Embedded Muse. 13: 1–2.

See also