Prebuilt runtime libraries
The prebuilt runtime libraries are configured for different combinations of these options:
Processor core
Size of the
doublefloating-point typeSize of the
intdata typeByte order for data access
Support for position-independent code and data
FPU support
Library configuration—Normal or Full.
Note
All prebuilt runtime libraries are built using the Huge data model. However, they can be used by an application built using any data model.
The linker will automatically include the correct library files and library configuration file. To explicitly specify a library configuration, use the ‑‑dlib_config compiler option. However, the Full library configuration is the only configuration that exists for Libc++. The ‑‑dlib_config compiler option cannot be used to specify another configuration.
Tip
To see which runtime library files that the linker includes, use the linker option ‑‑log libraries, see ‑‑log.
Library filename syntax
The names of the libraries are constructed from these elements:
{ |
|
{ |
|
{ | Specifies the processor core:
|
{ | Specifies the size of double:
|
{ | Specifies the size of the
|
{ | Specifies the byte order for data access:
|
[ | Specifies the support for position-independent code and data:
|
{ |
|
{ | Specifies the type of I/O output:
|
{ | Specifies the library configuration:
|
You can find the library object files in the subdirectory rx\lib\ and the library configuration files in the rx\inc\ subdirectory.
Groups of library files
The libraries are delivered in groups of library functions:
Library files for C/C++ standard library functions
These are the functions defined by Standard C and C++, for example functions like printf and scanf.
The names of the library files are constructed in the following way:
dlrx{size_of_double}{int_size}{byte_order}[p-i]{lib_config}.awhich more specifically means
dlrx{f|d}{s|l}{l|b}[c|r|w]{n|f}.aLibrary files for C++14 standard library functions
There are separate libraries for the C++14 library (dlcpp14) and the Libc++ C++17 library (dllibcpp).
The names of the C++14 library files are constructed in the following way:
dlcpp14rx{size_of_double}{int_size}{byte_order}[p-i]{lib_config}.awhich more specifically means
dlcpp14rx{d|f}{l|s}{b|l}[c|r|w]{f|n}.aLibrary files for C++17 standard library functions
There are two libraries when using the C++17 library(dllibcpp). One contains the functions for the floating-point operations for each FPU variant. The other contains non-floating-point type functions.
The names of the C++17 floating-point type library files are constructed in the following way:
dllibcppmrx{core}{size_of_double}{int_size}{byte_order}[p-i]{fpu-supp}.awhich more specifically means
dllibcppmrx{1|2|3}{d|f}{l|s}{b|l}[c|r|w]{0|1|2}.aThe names of the C++17 non-floating-point type library files are constructed in the following way:
dllibcpprx{size_of_double}{int_size}{byte_order}[p-i].awhich more specifically means
dllibcpprx{d|f}{l|s}{b|l}[c|r|w].aLibrary files with startup code and runtime support functions
These files contain the system startup code, option ROM, NMI vectors, and default exception handlers. They also include selected runtime routines, mainly floating-point, which are needed when linking modules compiled with the IAR C/C++ Compiler for RX with a C library from another vendor.
The names of the library files are constructed in the following way:
rtrx{core}{size_of_double}{int_size}{byte_order}[p-i].awhich more specifically means
rtrx{1|2}{f|d}{s|l}{l|b}[c|r|w].aLibrary files for C-SPY emulated I/O
These are functions for C-SPY emulated I/O.
The names of the library files are constructed in the following way:
dbgrx{size_of_double}{int_size}{byte_order}[p-i]{debug_io}.awhich more specifically means
dbgrx{f|d}{s|l}{l|b}[c|r|w]{n|d}.aLibrary files for math functions
These are the functions for floating-point arithmetic and functions with a floating-point type in its signature as defined by Standard C, for example functions like sqrt.
The names of the library files are constructed in the following way:
mrx{core}{size_of_double}{int_size}{byte_order}[p-i]{fpu-supp}.awhich more specifically means
mrx{1|2}{f|d}{s|l}{l|b}[c|r|w]{0|1|2}.aLibrary files for thread support functions
These are the functions for thread support.
The names of the library files are constructed in the following way:
thrx{size_of_double}{int_size}{byte_order}[p-i]{lib_config}.awhich more specifically means
thrx{f|d}{s|l}{l|b}[c|r|w]{n|f}.aLibrary files for timezone and daylight saving time support functions
These are the functions with support for timezone and daylight saving time functionality.
The names of the library files are constructed in the following way:
tzrx{size_of_double}{int_size}{byte_order}[p-i]{lib_config}.awhich more specifically means
tzrx{f|d}{s|l}{l|b}[c|r|w]{n|f}.a