GLibc 2.10.1 glibc — GNU C Library (GNU библиотека Си). Стандартная библиотека языка Си из проекта GNU. Она написана Free Software Foundation для GNU операционных систем. Glibc выпущена под лицензией GNU LGPL.
Вначале glibc была написана Роландом Макгратом (Roland McGrath), работавшем в FSF в 1980-x годах. В феврале 1988 года FSF представила glibc как библиотеку, имеющую наиболее полную функциональность, требуемую для ANSI C.
В начале 1990-х годов разработчики ядра Linux создали форк glibc. Он был назван «Linux libc». Когда FSF выпустила в 1996 году glibc 2.0, которая поддерживала IPv6, 64-битный доступ к данным, многопотоковые приложения, совместимость с будущими версиями и более переносимый исходный код, разработчики Linux прервали разработку Linux libc и начали использовать glibc от FSF.
Glibc используется в системах, на которых работает много разных ОС, и на разных архитектурах. Наиболее часто glibc используется на x86-машинах с ОС GNU/Linux. Также официально поддерживаются следующие архитектуры: SPARC, Motorola 68k, DEC Alpha, PowerPC, ARM, ETRAX CRIS, s390.
glibc часто критикуют за её «раздутость» и медленную скорость работы по сравнению с другими прошлыми библиотеками. Поэтому были созданы несколько альтернативных стандартных библиотек языка Си (dietlibc, uClibc и Newlib).
Из новшеств glibc 2.10 можно выделить:
- Поддержка стандарта POSIX 2008. Например, добавлены новые макросы, реализована функция psiginfo, добавлена поддержка флагов O_SEARCH и O_EXEC;
- Более жёсткое соответствие требованиям C++, например, в дополнение к "char *strchr(char *, int)" добавлено "const char *strchr(const char *, int)", т.е. конструкция "char *i = strchr(in, 'i')", если in имеет тип "const char *i" приведёт к ошибке;
- Поддержка особенностей будущего стандарта C++ 201x. Например, добавлен обработчик at_quick_exit и функция quick_exit, для экстренного завершения процесса без вызова глобальных деструкторов;
- Улучшение в функциях DNS NSS в плане обработки нескольких параллельных запросов;
- Использование NSS (Network Security Services) в libcrypt;
- Поддержка возможности определения дополнительных модификаторов и спецификаторов формата для функции printf. Для подключения дополнительных обработчиков добавлены функции register_printf_specifier, register_printf_modifier и register_printf_type;
- Улучшение масштабируемости функции malloc при работе на многоядерных CPU;
- Добавлена функция malloc_info для предоставления исчерпывающей информации о текущем состоянии системы распределении памяти (сколько памяти выделено, общий размер адресного пространства и т.п.).
- Автоматическое задействования оптимизированных функций, например, для систем с современным CPU Intel, будет использован вариант функций strlen и strchr, использующий инструкции SSE4.2.
- Новые функции: preadv, preadv64, pwritev, pwritev64, accept4, fallocate, fallocate64.
Home_
http://www.gnu.org/software/libc/libc.htmlDownloads (~20,6 Mb)_
http://ftp.gnu.org/gn...-2.10.1.tar.gz