linux开发必知内容整理libc、glibc和glib的关系

author author     2023-04-01     381

关键词:

参考技术A

在进行Linux开发不可避免的要调用一些系统的API,我们经常开到的概念有诸如glibc、libc和glib等等。那么这些系统库之前的关系是什么样的呢?下面我带大家了解一下这些库之前的共同点和差异,希望对以后的编程开发提供帮助。

glibc 和 libc 都是 Linux 下的C函数库。libc是Linux下的ANSI C函数库;glibc 是 Linux 下的 GUN C函数库。

那么ANSI C和GNU C有什么区别呢?

ANSI C函数库是基本的C语言函数库,包含了C语言最基本的库函数。这个库可以根据头文件划分为 15 个部分,其中包括:

GNU C函数库是一种类似于第三方插件的东西。由于 Linux 是用C语言写的,所以Linux的一些操作是用C语言实现的。因此,GUN 组织开发了一个 C 语言的库以便让我们更好的利用 C 语言开发基于 Linux 操作系统的程序。不过现在的不同的 Linux 的发行版本对这两个函数库有不同的处理方法,有的可能已经集成在同一个库里了。

查看当前系统的 glibc 版本的方法:

通过执行libc.so.6

切换到libc.so.6所在的目录,执行如下命令。

执行ldd命令

错误观点: GLib 前面有个"g",所以认为glib是GNU的东东;同时认为glibc是 GLib 的一个子集。其实,glib和glibc 基本上没有太大联系,可能唯一的共同点就是,其都是C编程需要调用的库而已。

GLib 是Gtk+库和Gnome的基础。 GLib 是一个跨平台的、用C语言编写的五个底层库的集合,为GNOME所使用。其支持的平台包括Linux、Unix和Windows 等。 GLib 为许多标准的、常用的C语言结构提供了相应的替代物。GLib中包含了近二十种实用功能,从简单的字符处理到初学者很难理解的XML解析功能。

官方说明

关于Glib的官方说明:

关于Glibc的官方说明

libc 实际上是一个泛指。凡是符合实现了C标准规定的内容,都是一种 libc 。

glibc是GNU组织对libc的一种实现。它是unix/linux的根基之一。

微软也有自己的libc实现,叫msvcrt 。

嵌入式行业里还常用uClibc ,是一个迷你版的libc 。

arm开发板升级glibc的方法

参考技术Ald和libc库必须同时升级,否则这两者不匹配会引起各种执行程序报错一、先把新版本的ld-2.xx.so、libc-2.xx.so一起放入/lib目录,并注意赋予执行权限二、删掉指向旧版本的软链接rmld-linux-aarch64.so.1libc.so.6三、这时所有的命... 查看详情

linux(ubuntu/centos)下查看glibc版本(代码片段)

...,转载请注明出处,谢谢合作因本人技术水平和知识面有限,内容如有纰漏或者需要修正的地方,欢迎大家指正,鄙人在此谢谢啦转载请务必注明出处,谢谢,不胜感激1ldd--version最简单直接的方法ldd--version其输出如下:2通过libc.so获取版本... 查看详情

误删除libc.so.6的解决方法

...。由于glibc囊括了几乎所有的UNIX通行的标准,可以想见其内容包罗万象。而就像其他的UNIX系统一样,其内含的档案群分散于系统的树状目录结构中,像一个支架一般撑起整 查看详情

恢复误删除的/lib64/libc.s0.6系统文件(代码片段)

...。由于glibc囊括了几乎所有的UNIX通行的标准,可以想见其内容包罗万象。而就像其他的UNIX系统一样,其内含的档案群分散于系统的树状目录结构中,像 查看详情

解决requires:libc.so.6(glibc_2.14)(64bit)错误解决方法(代码片段)

...bc囊括了几乎所有的 UNIX 通行的标准,可以想见其内容包罗万象。而就像其他的UNIX系统一样,其内含的档案群分散于系统的树状目录结构中,像一个支架一般撑起整个操作系统。在GNU/Linux系统中,其C函式库发展史点出了G... 查看详情

linux升级glibc时系统奔溃是啥原因如何解决

...。由于glibc囊括了几乎所有的UNIX通行的标准,可以想见其内容包罗万象。  升级Glibc的忠告:不要在运行中的系统上安装Glibc,否则将会导致系统崩溃,至少应当将新Glibc安装到其他的单独目录,以保证不覆盖当前正在使用的Gli... 查看详情

centos6.x升级glibc-2.17(代码片段)

glibcglibc是GNU发布的libc库,即c运行库。glibc是linux系统中最底层的api,几乎其它任何运行库都会依赖于glibc;它本身也提供了许多其它一些必要功能服务的实现;libc.so.6libc.so.6是一个链接到glibc的软链接;对glibc的升级其实是对libc.... 查看详情

gun/linux通用glibc库是如何操控.net7的clr

...小年,祝北方的朋友小年快乐。最新的.Net7是如何被Linux(Ubuntu22.04)加载的,运行微软程序的呢?本篇看下它的Glibc库里面的运作模式。GlibcGlibc是套C语言运行库,GUN/Linux系统最底层的库,几乎所有的Linux函数运行... 查看详情

glibc升级导致系统段错误问题解决方案

...2.19一,GLIBC介绍glibc是GNU发布的libc库,即c运行库。glibc是linux系统中最底层的api,几乎其它任何运行库都会依赖于glibc。glibc除了封装linux操作系统所提供的系统服务外,它本身也提供了许多其它一些必要功能服务的实现。内核实... 查看详情

centos6.5升级glibc解决“libc.so.6:versionglibc_2.14notfound”报错问题

...glibc库。glibc是gnu发布的libc库,即c运行库,glibc是linux系统中最底层的api,几乎其它任何运行库都会依赖于glibc。glibc除了封装linux操作系统所提供的系统服务外,它本身也提供了许多其它一些必要功能服务的实现。... 查看详情

libc.so.6:version'glibc_2.14'notfound报错提示的解决方案

...notfound"。排查原因及解决方法如下:1)产生原因是由于Linux系统的glibc版本太低,而软件编译时使用了较高版本的glibc引起的!查看系统glibc支持的版本[[email protected]~]#strings/lib64/libc.so.6|gr 查看详情

整理uclibc,eglibc,glibc之间的区别和联系

【glibc,uclibc,eglibc的简介】1.Glibcglibc=GNUCLibrary是GNU项(GNUProject)目,所实现的C语言标准库(Cstandardlibrary)。目前,常见的桌面和服务器中的GNU/Linux类的系统中,都是用的这套C语言标准库。其实现了常见的C库的函数,支持很... 查看详情

centos“/lib64/libc.so.6:version`glibc_2.14′notfound”系统glibc版本太低

1.试图运行程序提示”libc.so.6:version`GLIBC_2.14′notfound”,原因是系统的glibc版本太低,软件编译时使用了较高版本的glibc引起的.2.查看系统glibc支持的版本strings/lib64/libc.so.6|grepGLIBC_[[email protected]work]#strings/lib64/libc.so.6|grepGLIBC 查看详情

64位redhat-linux安装snmp的rpm包是总提示缺少libc.so.6()(64bit)

服务器用的安腾2CPU,64位RedHatEnterpriseLinuxServerrelease5.6Beta(Tikanga);glibc-2.5-56相关东西也有安装,/lib文件夹下也有libc.so.6指向libc-2.5.so;但是安装net-snmp-5.3.2.2-9.el5_5.1.x86_64.rpmnet-snmp-libs-5.3.2.2-9.el5_5.1.x86_64.rpm时,一直报错:error:Faileddepe... 查看详情

修改libc.so.6导致系统命令都不能用?

...glibc的软链接,glibc是gnu发布的libc库,即c运行库。glibc是linux系统中最底层的api,几乎其它任何运行库都会依赖于glibc,所以说绝大部分操作命令都缺少不了它。如果误删或破坏了libc.so.6,大部分系统命令将无法执行,ssh登录系统... 查看详情

centos6.x升级glibc解决“libc.so.6versionglibc_2.14notfound”报错问题

注意:升级glibc时必需双开或是多开ssh终端程序运行没有找到“GLIBC_2.14”这个版本库,而默认的Centos6.5glibc版本最高为2.12,所以需要更新系统glibc库解决办法:1.查看系统版本和glibc库版本#cat/etc/redhat-releaseCentOSrelease6.5#strings/lib64/li... 查看详情

centos7.3进入救援模式,解决虚拟机开机引导只能看到一个横杠

...建在CAS服务器中的虚拟机开机后只能看到一个横杠,因为开发同事的一些操作使glibc库/lib64/libc.so.6软链接失效1、libc.so.6是c运行时库glibc的软链接,而系统几乎所有程序都依赖c运行时库。程序启动和运行时,是根据libc.so.6软链接... 查看详情

解决"libc.so.6:version`glibc_2.14'notfound"问题

试图运行程序,提示"libc.so.6:version`GLIBC_2.14‘notfound",原因是系统的glibc版本太低,软件编译时使用了较高版本的glibc引起的:问题Centos自动更新glibc-2.142.查看系统glibc支持的版本:  strings/lib64/libc.so.6|grepGLIBC_  rpm-qa|grepglibc----... 查看详情