C++, EC++, compactC++

The compiler supports the C++ language, if the C++ feature is enabled with a license file.

Some features of the C++ language are not designed for embedded controllers. If they are used, they may produce large amounts of code and require a lot of processor overhead, thereby sapping performance.

Avoid this situation by using the compactC++ and EC++ language extensions, which are subsets of the C++ language. Each subset is adapted for embedded application programming.

These subsets of the C++ language avoids implicit and explicit overhead of the C++ language (for example, virtual member functions and multiple inheritance). The EC++ is a restricted subset, while compactC++ includes features which are not in the EC++ definition. This makes it more flexible.

Another key aspect of compactC++ is its flexible configuration of the language (for example, allowed keywords, code generation behavior, and message management). The compiler is adapted for the special needs for embedded programming.

The compiler provides the following language settings: