| |||
| Home > The C and C++ Libraries > The ANSI C library > Using the ANSI C library | |||
The ANSI C library variants are listed in Table 4.1, and Table 4.2.
If you are building your C code with APCS options that are supported by one of the precompiled library variants, the linker selects a precompiled library version that is compatible.
If you select APCS options for which a suitable precompiled library variant does not exist, the linker warns that the library file cannot be found. In this case you must build a library variant that supports your APCS options, and name it appropriately so that the linker selects your library variant.
Refer to Retargeting the ANSI C library for more information on building a new library variant. Refer to Automatic inclusion of libraries for more information on library selection and naming.
Table 4.1. Precompiled Thumb library variants
| Thumb libraries | Description |
|---|---|
armlib.16l armlib.16b | Compiled with no software stack checking. |
armlib_i.16l armlib_i.16b | Compiled for interworking. |
armlib_s.16l armlib_s.16b | Compiled with software stack checking. |
armlib_si.16l armlib_si.16b | Compiled for interworking, and with software stack checking. |
Table 4.2. Precompiled ARM library variants
| Library | Description |
|---|---|
armlib.32l armlib.32b | Compiled with software stack checking, frame pointer, and software floating-point. |
armlib_c.32l armlib_c.32b | Compiled with no software stack checking. |
armlib_cn.32l armlib_cn.32b | Compiled with no software stack checking and no frame pointer. |
armlib_h.32l armlib_h.32b | Compiled with hardware floating-point, software stack checking, and frame pointer. |
armlib_hc.32l armlib_hc.32b | Compiled with hardware floating-point and frame pointer, and with no software stack checking. |
armlib_hcn.32l armlib_hcn.32b | Compiled with hardware floating-point, no software stack checking, and no frame pointer. |
armlib_r.32l armlib_r.32b | Compiled with software stack checking, frame pointer, hardware floating-point, and fp arguments in fp registers. |
armlib_rc.32l armlib_rc.32b | Compiled with frame pointer, hardware floating-point, fp arguments in fp registers, and no software stack checking. |
armlib_rcn.32l armlib_rcn.32b | Compiled with hardware floating-point, fp arguments in fp registers, no software stack checking, and no frame pointer. |