Musl

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
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.

  1. musl - obsolete versions.musl-libc.org(31 октября 2017). Дата обращения: 14 января 2018.Архивировано17 января 2020 года.>
  2. Felker R.musl 1.2.5 released— 2024.
  3. The musl Open Source Project on Open Hub: Languages Page— 2006.
  4. Rich Felker, et al.COPYRIGHT(29 апреля 2016). Дата обращения: 26 сентября 2016.Архивировано10 июня 2016 года.
  5. 12Introduction to musl(21 апреля 2016). Дата обращения: 26 сентября 2016.Архивировано12 ноября 2020 года.
  6. Compatibility.wiki.musl-libc.org(27 мая 2014). Дата обращения: 26 сентября 2016.Архивировано26 июля 2017 года.
  7. Fietkau, Felix (2015-06-15)."OpenWrt switches to musl by default".openwrt-devel.Архивировано30 июня 2015.Дата обращения:26 сентября 2016.
  8. Проект Muslна сайтеGitHub
  9. morpheus:Дата обращения: 15 июня 2018. Архивировано изоригинала8 ноября 2020 года.