To install click the Add extension button. That's it.

The source code for the WIKI 2 extension is being checked by specialists of the Mozilla Foundation, Google, and Apple. You could also do it yourself at any point in time.

4,5
Kelly Slayton
Congratulations on this excellent venture… what a great idea!
Alexander Grigorievskiy
I use WIKI 2 every day and almost forgot how the original Wikipedia looks like.
Live Statistics
English Articles
Improved in 24 Hours
Added in 24 Hours
What we do. Every page goes through several hundred of perfecting techniques; in live mode. Quite the same Wikipedia. Just better.
.
Leo
Newton
Brights
Milds

From Wikipedia, the free encyclopedia

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 central processing unit (CPU) manufacturers, including NEC, Hitachi, Fujitsu, and Toshiba, to address the shortcomings of C++ for embedded applications. The goal of the effort[1] 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 website 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".[2]

Differences from C++

Embedded C++ excludes some features of C++.

Feature ISO/ANSI C C++ Embedded C++
Exception handling Yes No
Multiple inheritance Yes No
mutable, a storage class specifier Yes No
Namespaces Yes No
Templates Yes No
Run-time type information (typeid) Yes No
Style casts
(static_cast, dynamic_cast, reinterpret_cast, and const_cast)
Yes No
Virtual base classes Yes No

Some compilers, such as those from Green Hills and IAR Systems, allow certain features of ISO/ANSI C++ to be enabled in Embedded C++. IAR Systems calls this "Extended Embedded C++".[3]

Compilation

An EC++ program can be compiled with any C++ compiler. But, 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 had a poor 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."[7] In fact, the official English EC++ website has not been updated since 2002. Nevertheless, a restricted subset of C++ (based on Embedded C++) has been adopted by Apple Inc. as the exclusive programming language to create all I/O Kit device drivers for Apple's macOS, iPadOS and iOS operating systems of the popular Macintosh, iPhone, and iPad products.[8] Apple engineers felt the exceptions, multiple inheritance, templates, and runtime type information features of standard C++ were either insufficient or not efficient enough for use in a high-performance, multithreaded kernel.[9]

References

  1. ^ "EC++ Rationale".
  2. ^ EC++ Questions and Answers
  3. ^ "Embedded and Extended Embedded C++". Archived from the original on 21 May 2013. Retrieved 9 December 2012.
  4. ^ "IAR Systems - Compilers and debuggers". IAR Systems website.
  5. ^ "Embedded C++ compiler technology". Tasking website. Archived from the original on 2009-01-01.
  6. ^ "Green Hills Optimizing C/C++/EC++ Compilers". Green Hills Software website. Archived from the original on 2008-10-25.
  7. ^ "What do you think of EC++?". Bjarne Stroustrup's FAQ.
  8. ^ "What is Mac OS X?". Amit Singh. Archived from the original on 2019-04-19. Retrieved 2015-03-04.
  9. ^ "The libkern C++ Runtime". IOKit Device Driver Design Guidelines.

External links

This page was last edited on 2 January 2023, at 05:14
Basis of this page is in Wikipedia. Text is available under the CC BY-SA 3.0 Unported License. Non-text media are available under their specified licenses. Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc. WIKI 2 is an independent company and has no affiliation with Wikimedia Foundation.