Musl
musl | |
---|---|
Тип | Стандартная библиотека языка Си,длявстраиваемых системна основе Linux |
Разработчики | Rich Felker (dalias) и другие |
Написана на | Си[3] |
Операционные системы | Linux2.6 и более новые |
Первый выпуск | 2011-02-11[1] |
Аппаратные платформы | x86,x86 64,ARM,MIPS,Microblaze,PowerPC,powerpc64,x32,OpenRISC,s390x,SuperH,RISC-V |
Последняя версия | |
Репозиторий | git.musl-libc.org/cgit/m… |
Лицензия | MIT License |
Сайт | musl.libc.org |
musl— реализациястандартной библиотеки для языка Си(libc), предназначенная дляоперационных системна основеядра Linux,распространяемая подлицензией MIT[4].Библиотека разработана в начале 2010-х Ричем Фелкером в качестве чистой и эффективной реализации, соответствующей стандартам[5].
Обзор
[править|править код]Библиотека Musl была написана с нуля, без переиспользования существующего кода. При её написании уделялось внимание эффективномустатическому связыванию,качеству для систем, близких к реальному времени. Автор старался избегать сложных внутренних сбоев при исчерпании ресурсов, проблем с синхронизацией и примеров некачественного поведения, присутствующих в ряде существовавших на тот момент реализаций.[5]Скомпилированная библиотека представляет собой единственный динамический объектный файл со стабильным интерфейсом (ABI), что упрощает обновления. Также имеется версия для статического связывания, что позволяет создавать портативные приложения в виде одного исполняемого файла без внешних зависимостей.
Заявлена совместимость со спецификациейPOSIX2008 и стандартом языка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 года.>
- ↑Felker R.musl 1.2.5 released— 2024.
- ↑The musl Open Source Project on Open Hub: Languages Page— 2006.
- ↑Rich Felker, et al.COPYRIGHT (29 апреля 2016). Дата обращения: 26 сентября 2016.Архивировано10 июня 2016 года.
- ↑12Introduction to musl (21 апреля 2016). Дата обращения: 26 сентября 2016.Архивировано12 ноября 2020 года.
- ↑Compatibility .wiki.musl-libc.org(27 мая 2014). Дата обращения: 26 сентября 2016.Архивировано26 июля 2017 года.
- ↑Fietkau, Felix (2015-06-15)."OpenWrt switches to musl by default".openwrt-devel.Архивировано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