mirror of https://github.com/mkerrisk/man-pages
libc.7: New page giving brief overview of C libraries on Linux
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
This commit is contained in:
parent
f9d5bb737b
commit
383354a986
|
@ -0,0 +1,101 @@
|
|||
.\" Copyright (c) 2009 Linux Foundation, written by Michael Kerrisk
|
||||
.\" <mtk.manpages@gmail.com>
|
||||
.\"
|
||||
.\" 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.
|
||||
.\"
|
||||
.TH LIBC 7 2009-01-13 "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
|
||||
.RI ( http://www.gnu.org/software/libc/ ),
|
||||
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, 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 over a decade 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
|
||||
.I uClibc
|
||||
.RI ( http://www.uclibc.org/ )
|
||||
and
|
||||
.I dietlibc
|
||||
.RI ( http://www.fefe.de/dietlibc ).
|
||||
Details of these libraries are generally not covered by the
|
||||
.I man-pages
|
||||
project.
|
||||
.SH SEE ALSO
|
||||
.\" FIXME add SEE ALSO entries from the following pages:
|
||||
.BR syscalls (2),
|
||||
.BR feature_test_macros (7),
|
||||
.BR man-pages (7),
|
||||
.BR standards (7)
|
Loading…
Reference in New Issue