glibc

GNU C Library
GNU C Library
Тип стандартна бібліотека C
Розробник GNU Project
Стабільний випуск 2.29[1] (1 лютого 2019 (2019-02-01))
Репозиторій sourceware.org/git/glibc.git
Платформа багатоплатформовий
Операційна система багатоплатформовий
Мова програмування C
Стан розробки активний
Ліцензія GNU Lesser General Public License
Онлайн-документація gnu.org/software/libc/manual/
Вебсайт 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[2] на чолі з провідним розробником і підтримувачем Ульріхом Дреппером (Ulrich Drepper) з Red Hat.

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

Форки

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

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

eglibc

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

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

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

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

Критика

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

Виноски

  1. The GNU C Library version 2.29 is now available
  2. 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.»
  3. 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.»
  4. 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)»

Див. також

Посилання

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.