From wikipedia
The C standard library is the standard library for the C programming language, as specified in the ANSI C standard.[1] It was developed at the same time as the C POSIX library, which is a superset of it.[2][3] Since ANSI C was adopted by the International Organization for Standardization,[4] the C standard library is also called the ISO C library.
The C standard library provides macros, type definitions, and functions for tasks like string handling, mathematical computations, input/output processing, memory allocation and several other operating system services.
Unix-like systems typically have a C library in shared library form, but the header files (and compiler toolchain) may be absent from an installation so C development may not be possible. The C library is considered part of the operating system on Unix-like systems.[citation needed] The C functions, including the ISO C standard ones, are widely used by programs, and are regarded as if they were not only an implementation of something in the C language, but also de facto part of the operating system interface. Unix-like operating systems generally cannot function if the C library is erased.
On Microsoft Windows, the core system dynamic libraries (DLLs) provide an implementation of the C standard library for the Microsoft Visual C++ compiler v6.0; the C standard library for newer versions of the Microsoft Visual C++ compiler is provided by each compiler individually, as well as redistributable packages. Compiled applications written in C are either statically linked with a C library, or linked to a dynamic version of the library that is shipped with these applications, rather than relied upon to be present on the targeted systems. Functions in a compiler's C library are not regarded as interfaces to Microsoft Windows.
Many other implementations exist, provided with both various operating systems and C compilers.
Although there exist too many implementations to list, some popular implementations follow:
- BSD libc, implementations distributed under BSD operating systems.
- GNU C Library, used in Linux, GNU Hurd and GNU/kFreeBSD.
- Microsoft C Run-time Library, part of Microsoft Visual C++
- dietlibc, an alternative small implementation of the C standard library (MMU-less)
- μClibc, a C standard library for embedded μClinux systems (MMU-less)
- Newlib, a C standard library for embedded systems (MMU-less)[5]
- klibc, primarily for booting Linux systems.
- EGLIBC, variant of glibc for embedded systems.
- musl, another lightweight C standard library implementation for Linux systems[6]
- Bionic, originally developed by Google for the Android embedded system operating system, derived from BSD libc.