Musl
musl — реализация стандартной библиотеки для языка Си (libc), предназначенная для операционных систем на основе ядра Linux, распространяемая под лицензией MIT[4]. Библиотека разработана в начале 2010-х Ричем Фелкером в качестве чистой и эффективной реализации, соответствующей стандартам[5].
musl | |
---|---|
Тип | Стандартная библиотека языка Си, для встраиваемых систем на основе Linux |
Разработчик | Rich Felker (dalias) и другие |
Написана на | Си[2] |
Операционная система | Linux 2.6 и более новые |
Первый выпуск | 2011-02-11[1] |
Аппаратная платформа | x86, x86 64, ARM, MIPS, Microblaze, PowerPC, powerpc64, x32, OpenRISC, s390x, SuperH, RISC-V |
Последняя версия | |
Лицензия | MIT License |
Сайт | musl.libc.org |
ОбзорПравить
Библиотека Musl была написана с нуля, без переиспользования существующего кода. При её написании уделялось внимание эффективному статическому связыванию, качеству для систем, близких к реальному времени. Автор старался избегать сложных внутренних сбоев при исчерпании ресурсов, проблем с синхронизацией и примеров некачественного поведения, присутствующих в ряде существовавших на тот момент реализаций.[5] Скомпилированная библиотека представляет собой единственный динамический объектный файл со стабильным интерфейсом (ABI), что упрощает обновления. Также имеется версия для статического связывания, что позволяет создавать портативные приложения в виде одного исполняемого файла без внешних зависимостей.
Заявлена совместимость со спецификацией POSIX 2008 и стандартом языка C11.[6] Также в musl реализованы многие нестандартные наборы библиотечных функций, используемые в Linux, BSD и реализованные в glibc.
ИспользованиеПравить
Среди дистрибутивов Linux, которые могут использовать musl в качестве стандартной библиотеки libc: Alpine Linux, Dragora 3, OpenWrt,[7] Sabotage[8], Morpheus Linux[9], Gentoo и Void Linux.
См. такжеПравить
ПримечанияПравить
- ↑ musl - obsolete versions (неопр.). musl-libc.org (31 октября 2017). Дата обращения: 14 января 2018. Архивировано 17 января 2020 года.>
- ↑ The musl Open Source Project on Open Hub: Languages Page — 2006.
- ↑ musl libc Release History
- ↑ Rich Felker, et al. COPYRIGHT (неопр.) (29 апреля 2016). Дата обращения: 26 сентября 2016. Архивировано 10 июня 2016 года.
- ↑ 1 2 Introduction to musl (неопр.) (21 апреля 2016). Дата обращения: 26 сентября 2016. Архивировано 12 ноября 2020 года.
- ↑ Compatibility (неопр.). wiki.musl-libc.org (27 мая 2014). Дата обращения: 26 сентября 2016. Архивировано 26 июля 2017 года.
- ↑ Fietkau, Felix. OpenWrt switches to musl by default, openwrt-devel (15 июня 2015). Архивировано 30 июня 2015 года. Дата обращения: 26 сентября 2016.
- ↑ Проект Musl на сайте GitHub
- ↑ morpheus: (неопр.) Дата обращения: 15 июня 2018. Архивировано из оригинала 8 ноября 2020 года.
СсылкиПравить
- musl.libc.org — официальный сайт Musl
- Comparison of C/POSIX standard library implementations for Linux
- Matrix of C/POSIX standard libraries by architecture
- Project:Hardened musl on Gentoo wiki
- Выступление Rich Felker на Embedded Linux Conference (ELC) 2015: ELC 2015 - Transitioning From uclibc to musl for Embedded Development - Rich Felker, Openwall (видео), слайды
- Choosing System C library, Khem Raj (Comcast) / Embedded Linux Conference Europe 2014 Düsseldorf Germany