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

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.