Prebuilt runtime libraries
The prebuilt runtime libraries are configured for different combinations of these options:
Code model
Data model
Processor core
Size of the
doublefloating-point typeCalling convention
Use of the
--generate_far_runtime_library_callsoptionLibrary configuration—Normal or Full.
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 IAR DLIB runtime environment. |
| Specifies the RL78 microcontroller. |
| Specifies the code model:
|
| Specifies the data model:
|
| Specifies the size of double:
|
| Specifies the calling convention:
|
| Specifies the core:
3 = |
| Specifies the library configuration:
|
| Specifies whether the compiler option
empty if the option is not used |
| Specifies the support for C-SPY emulated I/O:
|
Note
The library configuration file has the same base name as the library.
You can find the library files and the library configuration files in the directory rl78\lib.
Groups of library files
The libraries are delivered in groups of library functions:
Library files for C library functions
These are the functions defined by Standard C, for example functions like printf and scanf.
The names of the library files are constructed in the following way:
dlrl{code_model}{data_model}{size_of_double}{calling_c}{core} {lib_config}[far_rt_calls].awhich more specifically means
dlrl{n|f}{n|f|h}{f|d}{1|2}{2|3}{n|f}[f].aLibrary files for C++11 library functions
These are the functions defined by C++11, compiled with support for Standard C++.
The names of the library files are constructed in the following way:
dlpprl{code_model}{data_model}{size_of_double}{calling_c}{core} {lib_config}[far_rt_calls].awhich more specifically means
dlpprl{n|f}{n|f|h}{f|d}{1|2}{2|3}{n|f}[f].aLibrary files for C++17 library functions
These are the functions defined by C++17, compiled with support for Standard C++.
The names of the library files are constructed in the following way:
dllibcpprl{code_model}{data_model}{size_of_double}{calling_c} {core}[far_rt_calls].awhich more specifically means
dllibcpprl{n|f}{n|f|h}{f|d}{1|2}{2|3}[f].aLibrary files for C++ runtime library functions
These are the runtime functions needed for C++, used for both the Libc++ and the DLIB C++ libraries.
The names of the library files are constructed in the following way:
dlpprtrl{code_model}{data_model}{size_of_double}{calling_c}{core}{lib_config}[far_rt_calls].awhich more specifically means
dlpprtrl{n|f}{n|f|h}{f|d}{1|2}{2|3}{n|f}[f].aLibrary files for thread support
These are the functions for thread support.
The names of the library files are constructed in the following way:
thrl{code_model}{data_model}{size_of_double}{calling_c}{core}{lib_config}[far_rt_calls].awhich more specifically means
thrl{n|f}{n|f|h}{f|d}{1|2}{2|3}{n|f}[f].aLibrary files with support for timezone and daylight saving time functionality
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:
tzrl{code_model}{data_model}{size_of_double}{calling_c}{core}{lib_config}[far_rt_calls].awhich more specifically means
tzrl{n|f}{n|f|h}{f|d}{1|2}{2|3}{n|f}[f].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:
dbgrl{code_model}{data_model}{size_of_double}{calling_c}{core} {debug_io}.awhich more specifically means
dbgrl{n|f}{n|f|h}{f|d}{1|2}{2|3}{d|n}.aLibrary files for hardware multiplication/division support
These are the functions with replacement support using the hardware multiplication/division support cores for S2 and S3.
The names of the library files are constructed in the following way:
hwmulrl{core}[far_rt_calls].awhich more specifically means
hwmulrl{2|3}[f].a