В вычислительной технике uClibc ( иногда пишется μClibc) — это небольшая стандартная библиотека C, предназначенная для операционных систем на основе ядра Linux для встраиваемых систем и мобильных устройств . uClibc была написана для поддержки μClinux , версии Linux, не требующей блока управления памятью и, таким образом, подходящей для микроконтроллеров (uCs; «u» — это типографское приближение латинского алфавита , а не правильная романизация , которая была бы буквой «m» — от μ для «micro»). [3]
Разработка uClibc началась около 1999 года. [4] uClibc в основном была написана с нуля, [5] но включала код из glibc и других проектов. [6] Руководитель проекта — Эрик Андерсен, а другой основной участник — Мануэль Новоа III. Лицензированная в соответствии с лицензией GNU Lesser General Public License , uClibc является бесплатным программным обеспечением с открытым исходным кодом .
uClibc намного меньше glibc , библиотеки C, обычно используемой с дистрибутивами Linux. В то время как glibc предназначен для полной поддержки всех соответствующих стандартов C в широком диапазоне аппаратных средств и ядерных платформ, uClibc специально ориентирован на встраиваемые системы Linux. Функции могут быть включены или отключены в соответствии с требованиями к пространству.
uClibc работает на стандартных и без MMU системах Linux. Он поддерживает процессоры i386 , x86-64 , ARM (big/little endian), Atmel AVR32 , Analog Devices Blackfin , Renesas/Hitachi H8 (h8300) , Motorola m68k , MIPS (big/little endian), IBM PowerPC , SuperH (big/little endian), Sun SPARC и Renesas/NEC v850 .
uClibc-ng [7] — это форк uClibc, анонсированный в списке рассылки OpenWRT в июле 2014 года после того, как прошло более двух лет без релиза uClibc, сославшись на отсутствие какой-либо связи с сопровождающим. [8] [9] [10] В настоящее время автор оригинального проекта больше не публикует обновления, а ссылается на все еще активно разрабатываемый форк uClibc-ng для текущих релизов. [11]
поддержка pthreads (производная от библиотеки linuxthreads glibc 2.1.3) [...] Объединено с поддержкой случайных чисел (rand, srand и т. д.) из glibc.