glibc和libc都是
Linux
下的C函数库,那么到底有什么区别呢?
见到Linux下好多的库函数,曾经令我困惑,其实他们是有章可循的。
libc是Linux下的ANSI C的函数库;
glibc是Linux下的GUN C函数库;
ANSI C和GNU C有什么区别呢?
ANSI C是基本的C语言函数库,包含了C语言最基本的库函数。这个库可以根据 头 文件 划分为 15 个部分,其中包括:字符类型 ()、错误码 ()、 浮点常数 ()、数学常数 ()、标准定义 ()、 标准 I/O ()、工具函数 ()、字符串操作 ()、 时间和日期 ()、可变参数表 ()、信号 ()、 非局部跳转 ()、本地信息 ()、 程序断言 () 等等。这在其他的C语言的IDE中都是有的。
而GNU C函数库是一种类似于第三方插件的东西,由于Linux是用C语言写的,所以Linux的一些操作是用C语言实现的,所以GNU组织开发了一个C语言的库用于我们更好的利用C语言开发基于Linux操作 系统的程序。其实我们可以把它理解为类似于Qt是一个C++的第三方函数库一样。
不过现在的不同的Linux的发行版本对这两个函数库有不同的处理方法,有的可能已经集成在同一个库里了,例如我用的 Ubuntu就只有glibc。
见到Linux下好多的库函数,曾经令我困惑,其实他们是有章可循的。
libc是Linux下的ANSI C的函数库;
glibc是Linux下的GUN C函数库;
ANSI C和GNU C有什么区别呢?
ANSI C是基本的C语言函数库,包含了C语言最基本的库函数。这个库可以根据 头 文件 划分为 15 个部分,其中包括:字符类型 ()、错误码 ()、 浮点常数 ()、数学常数 ()、标准定义 ()、 标准 I/O ()、工具函数 ()、字符串操作 ()、 时间和日期 ()、可变参数表 ()、信号 ()、 非局部跳转 ()、本地信息 ()、 程序断言 () 等等。这在其他的C语言的IDE中都是有的。
而GNU C函数库是一种类似于第三方插件的东西,由于Linux是用C语言写的,所以Linux的一些操作是用C语言实现的,所以GNU组织开发了一个C语言的库用于我们更好的利用C语言开发基于Linux操作 系统的程序。其实我们可以把它理解为类似于Qt是一个C++的第三方函数库一样。
不过现在的不同的Linux的发行版本对这两个函数库有不同的处理方法,有的可能已经集成在同一个库里了,例如我用的 Ubuntu就只有glibc。