|
|
|
|
Extended Embedded C++ |
C/C++ compilers from IAR Systems offer the standard features of ISO/ANSI C as well as an extended implementation of Embedded C++.
IAR Systems' compiler technology and optimized run-time library make C++ a realistic alternative even for 8-bit microcontrollers. |
What is Embedded C++? |
Embedded C++ is a subset of the C++ programming language which is intended for embedded systems programming. It is defined by an industry consortium, the Embedded C++ Technical Committee.
The fact that performance and portability are particularly important in embedded systems development was considered when defining Embedded C++.
IAR Systems adheres to the 'Embedded C++ Technical Committee Draft, Version WP-AM-0003, 13 October 1999'. This draft is available at http://www.caravan.net/ec2plus. |
How does Embedded C++ differ from C++? |
Embedded C++ offers a subset of C++. It excludes size and/or speed consuming C++ features that are not relevant for embedded systems.
Embedded C++ lacks the following features of C++:
- Templates
- Multiple inheritance
- Exception handling
- Runtime type information
- New cast syntax (operators dynamic_cast, static_cast, reinterpret_cast, and const_cast)
- Namespaces
The exclusion of these language features makes the runtime library significantly more efficient.
The Embedded C++ library also differs from the full C++ library in that:
- The Standard Template Library (STL) is excluded
- Streams, strings, and complex numbers are supported without the use of templates
- Library features which relate to exception handling and runtime type information (headers , and ), are excluded
Recent additions to the ISO/ANSI C++ standard are also excluded from Embedded C++. The reason is that they represent potential portability problems, due to the fact that few development tools support the standard. |
Why has IAR Systems extended Embedded C++? |
IAR Systems fills the gap between C++ and Embedded C++.
The extended implementation adds C++ features that strengthen the benefits of object-oriented development without carrying an overhead in efficiency or size. |
What does Extended Embedded C++ include? |
Most importantly, the C/C++ compilers from IAR Systems support C++ templates and include the Standard Template Library (STL) that provides convenient and efficient containers and algorithms.
Our template implementation is even memory-attribute aware, allowing you to write specialized template code for different memory types.
C/C++ compilers from IAR Systems provide the following C++ features:
- Classes, which are user-defined types that incorporate both data structure and behavior. The essential feature of inheritance allows data structure and behavior to be shared among classes.
- Polymorphism, which means that an operation can behave differently on different classes, is provided by virtual functions.
- Overloading of operators and function names, which allows several operators or functions with the same name, provided that there is a sufficient difference in their argument lists
- Type-safe memory management using operators new and delete
- Inline functions, which are indicated as particularly suitable for inline expansion
- C++ templates and the Standard Template Library (STL)
- Namespaces
- Mutable specifier
- New cast syntax (operators static_cast, reinterpret_cast, and const_cast)
The Embedded C/C++ library can be customized to fit the needs of the application, keeping an optimal balance of required functionality and footprint/size. |
| |
| |
|
|
Download |
| |
| |
| |
In-depth information |
| |
| |
| |
| |
| |
Technology |
| |
| |
| |
| |
| |
| |
| |
|