2016-12-24 21:40:16 +08:00
|
|
|
.. _c_library_v2:
|
|
|
|
|
|
|
|
Standard C Library
|
|
|
|
##################
|
|
|
|
|
|
|
|
The kernel currently provides only the minimal subset of the standard C library
|
|
|
|
required to meet the kernel's own needs, primarily in the areas of string
|
|
|
|
manipulation and display.
|
|
|
|
|
|
|
|
Applications that require a more extensive C library can either submit
|
|
|
|
contributions that enhance the existing library or substitute with a replacement
|
|
|
|
library.
|
|
|
|
|
2017-02-28 05:15:43 +08:00
|
|
|
The Zephyr SDK and other supported toolchains comes with a bare-metal C library
|
2016-12-24 21:40:16 +08:00
|
|
|
based on ``newlib`` that can be used with Zephyr by selecting the
|
|
|
|
:option:`CONFIG_NEWLIB_LIBC` in the application configuration file. Part of the
|
|
|
|
support for ``newlib`` is a set of hooks available under
|
|
|
|
:file:`lib/libc/newlib/libc-hooks.c` which integrates the c library with basic
|
|
|
|
kernel services.
|