术语“libc”是不是等同于“C 标准库”?
Posted
技术标签:
【中文标题】术语“libc”是不是等同于“C 标准库”?【英文标题】:Is the term "libc" equivalent to "C standard library"?术语“libc”是否等同于“C 标准库”? 【发布时间】:2011-07-28 08:23:43 【问题描述】:我有时听到人们交替使用术语“libc”和“C 标准库”。我知道“libc”是许多流行的 C 标准库实现的名称(或名称的一部分)。我的猜测是,由于这些实现的广泛使用,人们开始将 C 标准库统称为“libc”,尽管它不是正式名称。
将C标准库称为“libc”是否正确?
【问题讨论】:
【参考方案1】:我一直认为“libc”恰好是许多流行的 C 标准库实现的名称(或名称的一部分)。
这是正确的。 "libc" 是 C 标准库的一些 实现的名称。
作为未命名为“libc”的 C 标准库实现示例,Microsoft C 标准库实现是通常称为“CRT”的"C Run-Time Libraries," 的一部分。
将C标准库称为“libc”是否正确?
C 标准库未命名为“libc”,因此使用该术语泛指它(而不是特定实现)是不正确的。也就是说,在大多数情况下,如果您确实使用术语“libc”来指代 C 标准库,您仍然可能会被理解。
【讨论】:
谢谢,但您的回答仍然有可能 libc 既是官方名称又是多个实现使用的名称。使用“libc”来引用通用C标准库是否正确?我相信你的意思是不,但我只是想确定一下。 @pepsi:C 标准库未命名为“libc”,因此使用该术语泛指它(而不是特定实现)是不正确的。也就是说,在大多数情况下,如果您确实使用术语“libc”来指代 C 标准库,那么您仍然可能会被理解。 谢谢。这正是我想澄清的 我认为将 C/POSIX/其他操作系统实现的库部分称为“libc”是相当标准和合理的,无论它的文件名(或者它是否有文件名)在具体实现。【参考方案2】:“libc”确实是实现的名称。它通常包含不属于 C 标准的函数,并且可能不 包含 属于 C 标准的函数。 (后者的常见情况是标准 C 数学函数被拆分为单独的“libm”。)
【讨论】:
【参考方案3】:LibC (http://www.gnu.org/s/libc/) 是 C 库标准 (http://en.wikipedia.org/wiki/C_standard_library#ISO_Standard) 的一种特殊实现。
【讨论】:
【参考方案4】:'libc' 指的是 C 标准库。但是,libc 有几个实现:
glibc:为 GNU 项目编写的 libc 实现 klibc : libc 的简约子集实现 ...【讨论】:
以上是关于术语“libc”是不是等同于“C 标准库”?的主要内容,如果未能解决你的问题,请参考以下文章