glibc

Матеріал з Вікіпедії — вільної енциклопедії.
(Перенаправлено з Libc)
Перейти до навігації Перейти до пошуку
Glibc
ТипБібліотека C POSIX
runtime libraryd і пакунок GNUd
Розробникпроєкт GNU
Операційна системаGNU/Linux[d][1], GNU/Hurd[d][1] і BSD[d][1]
Мова програмуванняC
ЛіцензіяLGPLv2.1+d[2]
Онлайн-документаціяgnu.org/software/libc/manual/
Репозиторійsourceware.org/git/glibc.git
Вебсайтgnu.org/software/libc
GNU C Library

glibc (англ. GNU C Library — GNU бібліотека Сі) — стандартна бібліотека мови C з проекту GNU, яка забезпечує системні виклики та основні функції. Вона написана Фондом вільного програмного забезпечення для операційних систем родини GNU. glibc повністю відповідає вимогам стандартів ISO C99, C11 та POSIX.1-2008, і випущена під ліцензією GNU LGPL.

glibc є основою більшості Linux-дистрибутивів, за винятком OpenWrt.

Історія

[ред. | ред. код]

Бібліотека створена Фондом вільного програмного забезпечення (Free Software Foundation, FSF) для операційних систем GNU. Розробка бібліотеки була переглянута комітетом з 2001[3] на чолі з провідним розробником і підтримувачем Ульріхом Дреппером (Ulrich Drepper) з Red Hat.

Спочатку glibc була написана Роландом Мак-Гратом (Roland McGrath), котрий працював у FSF в 1980-x роках. У лютому 1988 року FSF представила glibc як бібліотеку, що має найповнішу функціональність, необхідну для ANSI C.[4] У 1992 були імплементовані функції ANSI C-1989 та POSIX.1-1990 і робота переведена у спосіб POSIX.2.[5]

Форки

[ред. | ред. код]

Тимчасовий форк glibc

[ред. | ред. код]

На початку 1990-х років розробники ядра Linux створили форк glibc. Він був названий «Linux libc». Коли FSF випустила в 1996 році glibc 2.0, яка підтримувала IPv6, 64-бітовий доступ до даних, багатонитеві програми, сумісність з майбутніми версіями і більше стерпний початковий код, розробники Linux перервали розробку Linux libc і почали використовувати glibc від FSF.

Деякий час існував eglibc — форк glibc, повністю сумісний з нею на рівні API і ABI. Eglibc відрізнялась інтеграцією деяких додаткових напрацювань для вбудовуваних систем, нижчими системними вимогами (підтримка компіляції з деякими відключеними компонентами), можливістю гнучкого налаштування компонентів, поліпшеною підтримкою крос-компіляції і крос-тестування. Напрацювання eglibc було інтегровано у glibc.

Підтримувані архітектури та ядра

[ред. | ред. код]

Glibc використовується в системах, на яких працює багато різних ОС, і на різних архітектурах. Найбільш часто glibc використовується на машинах x86-архітектури з ОС Linux.

Офіційно також підтримуються архітектури:

Критика

[ред. | ред. код]

glibc критикують за її «роздутість» і повільну роботу в порівнянні з іншими минулими бібліотеками. Тому були створені кілька альтернативних стандартних бібліотек мови Сі (dietlibc, uClibc і Newlib).

Виноски

[ред. | ред. код]
  1. а б в Free Software Directory
  2. https://sourceware.org/git/?p=glibc.git;a=commit;h=41bdb6e20c5d2df34a740cbd70e11c05025dfd12
  3. glibc homepage. Архів оригіналу за 12 липня 2013. Процитовано 19 березня 2011. In 2001 The GNU C Library Steering Committee ..., was formed and currently consists of Mark Brown, Paul Eggert, Andreas Jaeger, Jakub Jelinek, Roland McGrath and Andreas Schwab.
  4. http://www.gnu.org/bulletins/bull4.html. Архів оригіналу за 12 липня 2013. Процитовано 19 березня 2011. Most libraries are done. Roland McGrath [...] has a nearly complete set of ANSI C library functions. We hope they will be ready some time this spring.
  5. GNU's Bulletin, vol. 1 no. 12. Архів оригіналу за 12 липня 2013. Процитовано 19 березня 2011. It now contains all of the ANSI C-1989 and POSIX.1-1990 functions, and work is in progress on POSIX.2 and Unix functions (BSD and System V)

Див. також

[ред. | ред. код]

Посилання

[ред. | ред. код]