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'.
|
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. |
Back to IAR Home Page
Back to Testech Home Page
Compiler
RTOS
Emulator/Debugging
|