现在的位置: 首页 > 自动控制 > 工业·编程 > 正文

libc、glibc的关系

2019-11-07 08:05 工业·编程 ⁄ 共 673字 ⁄ 字号 暂无评论

glibc是linux下面c标准库的实现,即GNU C Library。glibc本身是GNU旗下的C标准库,后来逐渐成为了Linux的标准c库,而Linux下原来的标准c库Linux libc逐渐不再被维护。Linux下面的标准c库不仅有这一个,如uclibc(https://www.uclibc.org/)、klibc,以及上面被提到的Linux libc,但是glibc无疑是用得最多的。glibc在/lib目录下的.so文件为libc.so.6。

任何类似Unix的操作系统都需要一个C库:定义“系统调用”的库和其他基本工具,如OPEN、malloc、printf、Exit.GNU C库是GNU系统和大多数Linux内核系统中的C库。

GNU C库主要设计成一个可移植的高性能C库。它遵循所有相关标准,包括ISO C11和POSIX.1-2008。它也是国际化的,并且拥有已知的最完整的国际化接口之一。

Unix的历史和各种标准决定了C库的大部分接口。一般来说,GNU C库支持ISO C和POSIX标准。当流行的Unix变体(包括BSD和SystemV)与标准不冲突时,我们也尝试支持这些特性。不同的兼容性模式(在编译应用程序时可以选择)允许对不同类型的Unix提供兼容支持的和平共处。

【其他说法】 

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

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

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

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

给我留言

留言无头像?