Table of Contents Previous topic Next topic
C/C++ COMPILER->C++ Language Definition->Embedded C++
The Crossware compiler supports the Embedded C++ language. It defaults to C++ if the source file has a .CPP extension otherwise, if the source file has a .C extension, it defaults to the C language.
Embedded C++ is a subset of C++ specifically formulated for embedded systems. It is defined at http://www.caravan.net/ec2plus.
Embedded C++ excludes templates, exceptions, namespaces, run-time type information, localization, file operations and some other features.
Also Embedded C++ does not support multiple-inheritance and virtual base classes. However the Crossware compiler does support multiple-inheritance but does not support virtual base classes.
Since Embedded C++ does not support templates, basic_string is not supported. As an alternative, Embedded C++ provides the string class. The Crossware C++ library includes the string class.
The Crossware C++ library also includes the operators new, delete, new[], delete[], placement new and placement new[].
Other Embedded C++ library features such as streams and complex are not yet available in the Crossware library.
Also this first C++ release does not include support for conversion functions although it does support conversion constructors.