GNU C 函数库是一种类似于第三方插件的东西。由于 Linux 是用 C 语言写的,所以 Linux 的一些操作是用 C 语言实现的,因此,GUN 组织开发了一个 C 语言的库以便让我们更好的利用 C 语言开发基于 Linux 操作系统的程序。不过现在的不同的 Linux 的发行版本对这两个函数库有不同的处理方法,有的可能已经集成在同一个库里了。
glibc是linux下面c标准库的实现,即GNU C Library。glibc本身是GNU旗下的C标准库,后来逐渐成为了Linux的标准c库,而Linux下原来的标准c库Linux libc逐渐不再被维护。Linux下面的标准c库不仅有这一个,如uclibc、klibc,以及上面被提到的Linux libc,但是glibc无疑是用得最多的。glibc在/lib目录下的.so文件为libc.so.6。
查看当前系统的 glibc 版本的两种方法: 1.
01
[root@Betty ~]# /lib/libc.so.6
02
GNU C Library stable release version 2.5, by Roland McGrath et al.
03
Copyright (C) 2006 Free Software Foundation, Inc.
04
This is freesoftware; see the sourceforcopying conditions.
05
There is NO warranty; not even forMERCHANTABILITY or FITNESS FOR A
06
PARTICULAR PURPOSE.
07
Compiled by GNU CC version 4.1.2 20080704 (Red Hat 4.1.2-52).
08
Compiled on a Linux 2.6.9 system on 2013-01-08.
09
Available extensions:
10
The C stubs add-on version 2.1.2.
11
crypt add-on version 2.1 by Michael Glad and others
12
GNU Libidn by Simon Josefsson
13
GNU libio by Per Bothner
14
NIS(YP)/NIS+ NSS modules 0.19 by Thorsten Kukuk
15
Native POSIX Threads Library by Ulrich Drepper et al
16
BIND-8.2.3-T5B
17
RT using linux kernel aio
18
Thread-localstorage support included.
19
For bug reporting instructions, please see:
20
<http://www.gnu.org/software/libc/bugs.html>.
21
[root@Betty ~]#
2.
1
[root@Betty ~]# ldd --version
2
ldd (GNU libc) 2.5
3
Copyright (C) 2006 Free Software Foundation, Inc.
4
This is freesoftware; see the sourceforcopying conditions. There is NO
5
warranty; not even forMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
GLib is a general-purpose utility library, which provides many useful data types, macros, type conversions, string utilities, file utilities, a main loop abstraction, and so on. It works on many UNIX-like platforms, Windows, OS/2 and BeOS. GLib is released under the GNU Library General Public License (GNU LGPL).
The general policy of GLib is that all functions are invisibly threadsafe with the exception of data structure manipulation functions, where, if you have two threads manipulating the same data structure, they must use a lock to synchronize their operation.
GLib is the low-level core library that forms the basis for projects such as GTK+ and GNOME. It provides data structure handling for C, portability wrappers, and interfaces for such runtime functionality as an event loop, threads, dynamic loading, and an object system.
Glibc
Overview:
Any Unix-like operating system needs a C library: the library which defines the ``system calls'' and other basic facilities such as open, malloc, printf, exit...
The GNU C Library is used as the C library in the GNU systems and most systems with the Linux kernel.
Project Goals:
The GNU C Library is primarily designed to be a portable and high performance C library. It follows all relevant standards including ISO C11 and POSIX.1-2008. It is also internationalized and has one of the most complete internationalization interfaces known.
History:
The history of Unix and various standards determine much of the interface of the C library. In general the GNU C Library supports the ISO C and POSIX standards. We also try to support the features of popular Unix variants (including BSD and System V) when those do not conflict with the standards. Different compatibility modes (selectable when you compile an application) allow the peaceful coexistence of compatibility support for different varieties of Unix.