Critical Issue
The Embedded Design Handbook contains the following incorrect statement about C support:
The HAL supports only the standard Embedded C subset of the full C language. C programs that use features beyond this subset fail in the HAL environment. C features not available in Embedded C include polymorphism, templates, and single and multiple object inheritance. In general, features that consume a large amount of memory are not included in Embedded C . Catch/throw exceptions fail in the MicroC/OS-II environment.
Nios II C support is not restricted to the obsolete Embedded C specification.
In place of the incorrect paragraph, refer to the following correct information:
Nios II C language support depends on the GCC tool chain. The Nios II GCC 4 C tool chain supports the following features:
- Polymorphism
- Friendship and inheritance
- Multiple inheritance
- Virtual base classes
- Run-time type information (
typeid) - The
mutabletype qualifier - Namespaces
- Templates
- New-and-delete style dynamic memory allocation
- Operator overloading
- Standard Template Library (STL)
Exceptions and new-style dynamic casts are not supported.