Является ли термин "libc" эквивалентным "стандартной библиотеке C"?

Я иногда слышу, что люди используют термины "libc" и "стандартная библиотека C" взаимозаменяемо. Я понимаю, что "libc" - это имя (или часть имен) многих популярных реализаций библиотек C. Я предполагаю, что из-за широкого использования этих реализаций люди начали ссылаться на стандартную библиотеку C вообще как на "libc", хотя это не официальное название.

Правильно ли ссылаться на стандартную библиотеку C как на "libc"?

Ответ 1

Я всегда думал, что "libc" просто является именем (или частью имен) многих популярных реализаций библиотек C.

Это правильно. "libc" - это имя некоторых реализаций стандартной библиотеки C.

В качестве примера реализации стандартной библиотеки C, которая не называется "libc" , реализация стандартной библиотеки Microsoft C является частью "C Run- Библиотеки времени" , обычно называемый "ЭЛТ" .

Правильно ли ссылаться на стандартную библиотеку C как на "libc" ?

Стандартная библиотека C не называется "libc" , поэтому использование этого термина для ссылки на него в целом (а не на конкретную реализацию) было бы неверным. Тем не менее, в большинстве случаев, если вы использовали термин "libc" для ссылки на стандартную библиотеку C, вы все равно, вероятно, будете поняты.

Ответ 2

"libc" действительно является именем реализации. Он часто включает функции, которые не являются частью стандарта C, и могут не включать функции, которые являются частью стандарта C. (Общий случай последнего - стандартные математические функции C, разделенные на отдельный "libm".)

Ответ 3

'libc' относится к стандартной библиотеке C. Однако libc имеет несколько реализаций:

  • glibc: реализация libc, написанная для проекта GNU
  • klibc: минимальная реализация подмножества libc
  • ...

Ответ 4

LibC (http://www.gnu.org/s/libc/) является одной из конкретных реализаций стандарта библиотеки C (http://en.wikipedia.org/wiki/C_standard_library#ISO_Standard).