Русская Википедия:UClibc
Шаблон:Lowercase Шаблон:Карточка программы
uClibc — стандартная библиотека языка программирования C, предназначенная для встраиваемых систем на базе Linux. uClibc была разработана для поддержки uClinux (специальная редакция ядра Linux, способная работать без блока управления памятью [MMU]) и таким образом подходящая для микроконтроллеров). Буква u в названии есть адаптация греческой буквы µ, означающей «микро».
Координатор проекта — Erik Andersen, другим активным участником является Manuel Novoa III.
uClibc — свободное программное обеспечение, распространяемое под GNU LGPL.
С 2014 года развитие библиотеки продолжается в форке uClibc-ng.
Возможности
uClibc может запускаться как на системах с MMU так и без него[1]. Библиотека поддерживает процессоры i386, x86-64, ARM (big/little endian), AVR32, Шаблон:Iw, H8300, m68k, MIPS (big/little endian), PowerPC, SuperH (big/little endian), SPARC и Шаблон:Iw.
Среди реализаций libc, uclibc-ng поддерживает наибольшее количество процессорных платформ[2]. Например, ведется работа по добавлению китайской c-sky[3] и nds32[4].
uClibc-ng
В 2014 году разработчики OpenWRT объявили о создании форка библиотеки, назвав его uClibc-ng[5][6][7]. Они решили запустить форк после того, как на протяжении более чем двух лет не могли связаться с мейнтейнером.[8][9][10]. По состоянию на 2017 год этот форк продолжает выпускать релизы, используется в Шаблон:Iw[11], OpenADK, OpenWrt/Lede для архитектуры ARC, в системах NDS32, Xtensa, Blackfin. Ранее использовавший uclibc мини-дистрибутив Alpine Linux и OpenWrt/Lede переключились на musl; OpenEmbedded вместо uclibc позволяет использовать glibc или musl[2].
Между версиями нарушалась двоичная совместимость. Начиная с 1.0.18 версии все библиотеки были объединены в одну по аналогии с musl[2].
Недостатки
Библиотека не реализует некоторых разделов стандартных UNIX libc, в частности функциональность libnsl и NSS. Также не поддерживает версионирование символов[2]
См. также
- Contiki, ОС для встраиваемых систем
- dietlibc, маленькая альтернативная реализация Стандартной библиотеки C
- Newlib, стандартная библиотека языка программирования C для встраиваемых систем
- Eglibc, вариант библиотеки glibc для встраиваемых систем.
- musl
Примечания
Ссылки
Шаблон:Язык программирования Си Шаблон:Rq
- ↑ Choosing System C library Шаблон:Wayback, Khem Raj (Comcast) / Embedded Linux Conference Europe 2014 Düsseldorf Germany
- ↑ 2,0 2,1 2,2 2,3 uClibc today: Still makes sense Шаблон:Wayback / Embedded Linux Conference Europe 2017
- ↑ [1]Шаблон:Wayback C-SKY(csky) Linux Kernel Port [LWN.net]
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Embedded Linux system development Шаблон:Wayback / Bootlin, 2018 «uClibc-ng» (стр 71)
- ↑ Mastering Embedded Linux Programming — Chris Simmonds — Google Книги
- ↑ Шаблон:Cite mailing list
- ↑ Шаблон:Cite mailing list
- ↑ Шаблон:Cite mailing list
- ↑ Шаблон:Cite web