Provided by: manpages_3.35-0.1ubuntu1_all bug

NAME

       libc - Overview of standard C libraries on Linux

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.

   glibc
       By  far  the  most  widely  used   C   library   on   Linux   is   the   GNU   C   Library
       (http://www.gnu.org/software/libc/),  often  referred  to as 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 man-pages project (primarily in
       Section 3 of the manual).  Documentation of glibc is also available in the  glibc  manual,
       available  via  the  command  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 /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.

   Linux libc
       In  the  early to mid 1990s, there was for a while 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, 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 libc4 and
       libc5.)

   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  uClibc  (http://www.uclibc.org/)  and  dietlibc
       (http://www.fefe.de/dietlibc/).  Details of these libraries are generally not  covered  by
       the man-pages project.

SEE ALSO

       syscalls(2), feature_test_macros(7), man-pages(7), standards(7)

COLOPHON

       This  page  is  part of release 3.35 of the Linux man-pages project.  A description of the
       project, and information about reporting bugs, can be found at  http://man7.org/linux/man-
       pages/.