Provided by: manpages_3.54-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.54 of the Linux man-pages project.  A  description  of  the
       project,     and    information    about    reporting    bugs,    can    be    found    at
       http://www.kernel.org/doc/man-pages/.