mirror of https://github.com/mkerrisk/man-pages
114 lines
4.1 KiB
Groff
114 lines
4.1 KiB
Groff
.\" Copyright (c) 2009 Linux Foundation, written by Michael Kerrisk
|
|
.\" <mtk.manpages@gmail.com>
|
|
.\"
|
|
.\" %%%LICENSE_START(VERBATIM)
|
|
.\" Permission is granted to make and distribute verbatim copies of this
|
|
.\" manual provided the copyright notice and this permission notice are
|
|
.\" preserved on all copies.
|
|
.\"
|
|
.\" Permission is granted to copy and distribute modified versions of this
|
|
.\" manual under the conditions for verbatim copying, provided that the
|
|
.\" entire resulting derived work is distributed under the terms of a
|
|
.\" permission notice identical to this one.
|
|
.\"
|
|
.\" Since the Linux kernel and libraries are constantly changing, this
|
|
.\" manual page may be incorrect or out-of-date. The author(s) assume no
|
|
.\" responsibility for errors or omissions, or for damages resulting from
|
|
.\" the use of the information contained herein. The author(s) may not
|
|
.\" have taken the same level of care in the production of this manual,
|
|
.\" which is licensed free of charge, as they might when working
|
|
.\" professionally.
|
|
.\"
|
|
.\" Formatted or processed versions of this manual, if unaccompanied by
|
|
.\" the source, must acknowledge the copyright and authors of this work.
|
|
.\" %%%LICENSE_END
|
|
.\"
|
|
.TH LIBC 7 2014-07-08 "Linux" "Linux Programmer's Manual"
|
|
.SH NAME
|
|
libc \- overview of standard C libraries on Linux
|
|
.SH DESCRIPTION
|
|
The term "libc" is commonly used as a shorthand for
|
|
the "standard C library",
|
|
a library of standard functions that can be used by all C programs
|
|
(and sometimes by programs in other languages).
|
|
Because of some history (see below), use of the term "libc"
|
|
to refer to the standard C library is somewhat ambiguous on Linux.
|
|
.SS glibc
|
|
By far the most widely used C library on Linux is the GNU C Library
|
|
.UR http://www.gnu.org\:/software\:/libc/
|
|
.UE ,
|
|
often referred to as
|
|
.IR glibc .
|
|
This is the C library that is nowadays used in all
|
|
major Linux distributions.
|
|
It is also the C library whose details are documented
|
|
in the relevant pages of the
|
|
.I man-pages
|
|
project (primarily in Section 3 of the manual).
|
|
Documentation of glibc is also available in the glibc manual,
|
|
available via the command
|
|
.IR "info libc" .
|
|
Release 1.0 of glibc was made in September 1992.
|
|
(There were earlier 0.x releases.)
|
|
The next major release of glibc was 2.0, at the beginning of 1997.
|
|
|
|
The pathname
|
|
.I /lib/libc.so.6
|
|
(or something similar) is normally a symbolic link that
|
|
points to the location of the glibc library,
|
|
and executing this pathname will cause glibc to display
|
|
various information about the version installed on your system.
|
|
.SS Linux libc
|
|
In the early to mid 1990s, there was for a while
|
|
.IR "Linux libc" ,
|
|
a fork of glibc 1.x created by Linux developers who felt that glibc
|
|
development at the time was not sufficing for the needs of Linux.
|
|
Often, this library was referred to (ambiguously) as just "libc".
|
|
Linux libc released major versions 2, 3, 4, and 5
|
|
(as well as many minor versions of those releases).
|
|
For a while,
|
|
Linux libc was the standard C library in many Linux distributions.
|
|
|
|
However, notwithstanding the original motivations of the Linux libc effort,
|
|
by the time glibc 2.0 was released (in 1997),
|
|
it was clearly superior to Linux libc,
|
|
and all major Linux distributions that had been using Linux libc
|
|
soon switched back to glibc.
|
|
Since this switch occurred long ago,
|
|
.I man-pages
|
|
no longer takes care to document Linux libc details.
|
|
Nevertheless, the history is visible in vestiges of information
|
|
about Linux libc that remain in some manual pages,
|
|
in particular, references to
|
|
.IR libc4
|
|
and
|
|
.IR libc5 .
|
|
.SS Other C libraries
|
|
There are various other less widely used C libraries for Linux.
|
|
These libraries are generally smaller than glibc,
|
|
both in terms of features and memory footprint,
|
|
and often intended for building small binaries,
|
|
perhaps targeted at development for embedded Linux systems.
|
|
Among such libraries are
|
|
.UR http://www.uclibc.org/
|
|
.I uClibc
|
|
.UE ,
|
|
.UR http://www.fefe.de/dietlibc/
|
|
.I dietlibc
|
|
.UE ,
|
|
and
|
|
.UR http://www.musl-libc.org/
|
|
.I "musl libc"
|
|
.UE .
|
|
Details of these libraries are covered by the
|
|
.I man-pages
|
|
project, where they are known.
|
|
.SH SEE ALSO
|
|
.BR syscalls (2),
|
|
.BR getauxval (3),
|
|
.BR proc (5),
|
|
.BR feature_test_macros (7),
|
|
.BR man-pages (7),
|
|
.BR standards (7),
|
|
.BR vdso (7)
|