Является ли термин "libc" эквивалентным "стандартной библиотеке C"? - PullRequest
10 голосов
/ 02 апреля 2011

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

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

Ответы [ 4 ]

12 голосов
/ 02 апреля 2011

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

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

В качестве примера реализации Стандартной библиотеки C, которая не называется "libc", реализация Стандартной библиотеки Microsoft Cявляется частью "C-библиотек времени выполнения", обычно называемых "CRT".

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

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

7 голосов
/ 02 апреля 2011

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

1 голос
/ 02 апреля 2011

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

  • glibc : реализация libc, написанная для проекта GNU
  • klibc : минималистичная реализация подмножества libc
  • ...
0 голосов
/ 02 апреля 2011

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

...