11.07.2015 Views

MSP430 IAR C/C++ Compiler reference guide - Rice University

MSP430 IAR C/C++ Compiler reference guide - Rice University

MSP430 IAR C/C++ Compiler reference guide - Rice University

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Overview●●●Runtime type informationNew cast syntax (the operators dynamic_cast, static_cast,reinterpret_cast, and const_cast)Namespaces● The mutable attribute.The exclusion of these language features makes the runtime library significantly moreefficient. The Embedded <strong>C++</strong> library furthermore differs from the full <strong>C++</strong> library inthat:●●The standard template library (STL) is excludedStreams, strings, and complex numbers are supported without the use of templates● Library features which relate to exception handling and runtime type information(the headers except, stdexcept, and typeinfo) are excluded.Note: The library is not in the std namespace, because Embedded <strong>C++</strong> does notsupport namespaces.EXTENDED EMBEDDED <strong>C++</strong><strong>IAR</strong> Systems’ Extended E<strong>C++</strong> is a slightly larger subset of <strong>C++</strong> which adds thefollowing features to the standard E<strong>C++</strong>:● Full template support● Namespace support● The mutable attribute● The cast operators static_cast, const_cast, and reinterpret_cast.All these added features conform to the <strong>C++</strong> standard.To support Extended E<strong>C++</strong>, this product includes a version of the standard templatelibrary (STL), in other words, the <strong>C++</strong> standard chapters utilities, containers, iterators,algorithms, and some numerics. This STL has been tailored for use with the ExtendedE<strong>C++</strong> language, which means that there are no exceptions, no multiple inheritance, andno support for runtime type information (rtti). Moreover, the library is not in the stdnamespace.Note: A module compiled with Extended E<strong>C++</strong> enabled is fully link-compatible witha module compiled without Extended E<strong>C++</strong> enabled.ENABLING <strong>C++</strong> SUPPORTIn the <strong>MSP430</strong> <strong>IAR</strong> C/<strong>C++</strong> <strong>Compiler</strong>, the default language is C. To be able to compilefiles written in Embedded <strong>C++</strong>, you must use the --ec++ compiler option. See --ec++,page 151. You must also use the <strong>IAR</strong> DLIB runtime library.102<strong>MSP430</strong> <strong>IAR</strong> C/<strong>C++</strong> <strong>Compiler</strong>Reference Guide

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!