Datasheet

The C and C++ Libraries
4-4 Copyright © 1999-2001 ARM Limited. All rights reserved. ARM DUI 0067D
4.1.2 Library directory structure
The libraries are installed in two subdirectories within
install_directory\lib
:
armlib
This subdirectory contains the variants of the ARM C library, the
floating-point arithmetic library, and the math library. The accompanying
header files are in
install_directory\include.
cpplib
This subdirectory contains the variants of the Rogue Wave C++ library
and supporting C++ functions. The Rogue Wave and supporting C++
functions are collectively referred to as the ARM C++ Libraries. The
accompanying header files are installed in
install_directory\include
.
The environment variable
ARMLIB
must be set to point to the
lib
directory. Alternatively
use the
-libpath
argument to the linker to identify the directory holding the library
subdirectories. You do not have to identify
armlib
and
cpplib
separately. The linker
finds them for you from the location of
lib
.
Note
The ARM C libraries are supplied in binary form only.
The ARM libraries must not be modified. If you want to create a new
implementation of a library function, place the new function in an object file, or
your own library, and include it when you link the application. Your version of the
function is used instead of the standard library version.
Normally, only a few functions in the ANSI C library require re-implementation
to create a target-dependent application.
The source for the Rogue Wave Standard C++ Library is not freely distributable.
It can be obtained from Rogue Wave Software Inc., or through ARM Ltd, for an
additional licence fee. See the Rogue Wave online documentation in
install_directory\Html
for more about the C++ library.
4.1.3 Reentrancy and static data
Libraries that make use of static data are supplied in two variants:
Static data addressed in a position-dependent fashion. Code from these variants is
single threaded. Library
c_a__un
, for example, has position-dependent data.
Static data addressed in a position-independent fashion using offsets from the
static base register sb (r9). Code from these variants can be multiply-threaded and
is reentrant. Library
c_a__ue
, for example, has position-independent data.