Datasheet
The C and C++ Libraries
4-2 Copyright © 1999-2001 ARM Limited. All rights reserved. ARM DUI 0067D
4.1 About the runtime libraries
The following runtime libraries are provided to support compiled C and C++:
ANSI C The C libraries consist of:
• The functions defined by the ISO C library standard.
• Target-dependent functions used to implement the C library
functions in the semihosted execution environment. You can
redefine these functions in your own application.
• Helper functions used by the C and C++ compilers.
C++ The C++ libraries contain the functions defined by the ISO C++ library
standard. The C++ library depends on the C library for target-specific
support and there are no target dependencies in the C++ library. This
library consists of:
• the Rogue Wave Standard C++ Library version 2.01.01
• helper functions for the C++ compiler
• additional C++ functions not supported by the Rogue Wave library.
For a detailed description of how the libraries comply with the ISO standard, see ISO
implementation definition on page 4-91.
As supplied, the ANSI C libraries use the standard ARM semihosted environment to
provide facilities such as file input/output. This environment is supported by the
ARMulator
®
, Angel
™
, and Multi-ICE. You can use the ARM development tools in ADS
to develop applications, and then immediately run and debug the applications under the
ARMulator or on a development board. See the description of semihosting in the ADS
Debug Target Guide for more information on the debug environment.
You can re-implement any of the target-dependent functions of the C library as part of
your application. This enables you to tailor the C library, and therefore the C++ library,
to your own execution environment.
You can also tailor many of the target-independent functions to your own
application-specific requirements, for example:
• the malloc family
• the ctype family
• all the locale-specific functions.
Many of the C library functions are independent of any other function and contain no
target dependencies. You can easily exploit these functions from assembly language.