libc、glib、glibc简介
glibc和libc都是Linux下的C函数库:libc是Linux下的ANSI C函数库,glibc是Linux下的GUN C函数库。
linux字符串转数组是⽤C写的⼀些⼯具,即C的⼯具库,和libc/glibc没有关系。GLib是⼀个跨平台的、⽤C语⾔编写的五个底层库的集合,为GNOME所使⽤。GLib起初是GTK+的⼀部分,但到了GTK+第⼆版,开发者决定把跟图形界⾯⽆关的代码分开,这些代码于是就组装成了GLib。因为GLib具有跨平台特性,所以⽤它编写的程序可以⽆需进⾏⼤的修改就可以在其他程序上编译和运⾏。
glib提供了多种⾼级的数据结构,如内存块、双向和单向链表、哈希表、动态字符串以及字符串⼯具(例如词法分析器,字符串切分等)、动态数组,平衡⼆叉树、n-叉树、键值存储、关系和元组,还有带有缓存的内存管理。Glib还实现了线程相关的函数、多线程编程以及相关的⼯具,例如原始变量访问,互斥锁,异步队列,安全内存池,消息传递和⽇志,钩⼦函数和计时器,同时消息传递还包含了字节序转换和IO channel。
GLib由五个库组成:
GObject –对象系统,包括类型系统GType
Glib
GModule
GThread
GIO
glibc是linux下⾯c标准库的实现,即GNU C Library。glibc本⾝是GNU旗下的C标准库,后来逐渐成为了Linux的标准c库,⽽Linux下原来的标准c库Linux libc逐渐不再被维护。
GNU C库(英语:GNU C Library,常简称为glibc)是⼀种按照LGPL许可协议发布的,⾃由的,公开源代码的,⽅便从⽹络下载的C的编译程序。GNU C运⾏期库,是⼀种C函数库,是程序运⾏时使⽤到的⼀些API集合,它们⼀般是已预先编译好,以⼆进制代码形式存在Linux类系统中,GNU C运⾏期库通常作为GNU C编译程序的⼀个部分发布。Glibc最初是⾃由软件基⾦会(FSF)为其GNU操作系统所写,但当前最主要的应⽤是配合Linux内核,成为GNU/Linux操作系统⼀个重要的组成部分。
glibc在/lib(64)⽬录下的.so⽂件为libc.so.6。
查看当前系统的glibc版本的两种⽅法:
# ls -lh /lib64/libc.so.6
lrwxrwxrwx 1 root root 12 11⽉ 17  2015 /lib64/libc.so.6 -> libc-2.22.so
# ldd --version
ldd (GNU libc) 2.22
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Roland McGrath and Ulrich Drepper.
这两种⽅法都可以看到当前系统的glibc的版本是2.22。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。