术语“libc”是否等同于“C标准库”?

时间:2011-04-02 18:02:22

标签: c terminology standard-library libc

我有时会听到人们互换使用术语“libc”和“C标准库”。我理解“libc”是许多流行的C标准库实现的名称(或名称的一部分)。我的猜测是,由于这些实现的广泛使用,人们开始将C标准库称为“libc”,尽管它不是官方名称。

将C标准库称为“libc”是否正确?

4 个答案:

答案 0 :(得分:12)

  

我一直认为“libc”恰好是许多流行的C标准库实现的名称(或名称的一部分)。

这是对的。 “libc”是 C标准库的一些实现的名称。

作为未命名为“libc”的C标准库实现的示例,Microsoft C标准库实现是"C Run-Time Libraries,"的一部分,通常称为“CRT”。

  

将C标准库称为“libc”是否正确?

C标准库未命名为“libc”,因此使用该术语一般性地引用它(而不是特定实现)将是不正确的。也就是说,在大多数情况下,如果您确实使用术语“libc”来引用C标准库,那么您仍然可能会被理解。

答案 1 :(得分:7)

“libc”确实是实现的名称。它通常包含不属于C标准的函数,并且可能包含 C标准的一部分的函数。 (后者的一个常见情况是标准C数学函数被拆分为单独的“libm”。)

答案 2 :(得分:1)

'libc'指的是C标准库。但是,libc有几个实现:

  • glibc:为GNU项目编写的libc实现
  • klibc:libc的简约子集实现
  • ...

答案 3 :(得分:0)

LibC(http://www.gnu.org/s/libc/)是C库标准的一个特定实现(http://en.wikipedia.org/wiki/C_standard_library#ISO_Standard).