Musl

Эта статья находится на начальном уровне проработки, в одной из её версий выборочно используется текст из источника, распространяемого под свободной лицензией
Материал из энциклопедии Руниверсалис
musl
Логотип программы musl
Тип Стандартная библиотека языка Си, для встраиваемых систем на основе Linux
Разработчик Rich Felker (dalias) и другие
Операционная система 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 — реализация стандартной библиотеки для языка Си (libc), предназначенная для операционных систем на основе ядра Linux, распространяемая под лицензией MIT[2]. Библиотека разработана в начале 2010-х Ричем Фелкером в качестве чистой и эффективной реализации, соответствующей стандартам[3].

Обзор

Библиотека Musl была написана с нуля, без переиспользования существующего кода. При её написании уделялось внимание эффективному статическому связыванию, качеству для систем, близких к реальному времени. Автор старался избегать сложных внутренних сбоев при исчерпании ресурсов, проблем с синхронизацией и примеров некачественного поведения, присутствующих в ряде существовавших на тот момент реализаций.[3] Скомпилированная библиотека представляет собой единственный динамический объектный файл со стабильным интерфейсом (ABI), что упрощает обновления. Также имеется версия для статического связывания, что позволяет создавать портативные приложения в виде одного исполняемого файла без внешних зависимостей.

Заявлена совместимость со спецификацией POSIX 2008 и стандартом языка C11.[4] Также в musl реализованы многие нестандартные наборы библиотечных функций, используемые в Linux, BSD и реализованные в glibc.

Использование

Среди дистрибутивов Linux, которые могут использовать musl в качестве стандартной библиотеки libc: Alpine Linux, Dragora 3, OpenWrt,[5] Sabotage[6], Morpheus Linux[7], Gentoo и Void Linux.

См. также

Примечания

  1. musl - obsolete versions. musl-libc.org (31 октября 2017). Дата обращения: 14 января 2018. Архивировано 17 января 2020 года.>
  2. Rich Felker, et al. COPYRIGHT (29 апреля 2016). Дата обращения: 26 сентября 2016. Архивировано 10 июня 2016 года.
  3. 3,0 3,1 Introduction to musl (21 апреля 2016). Дата обращения: 26 сентября 2016. Архивировано 12 ноября 2020 года.
  4. Compatibility. wiki.musl-libc.org (27 мая 2014). Дата обращения: 26 сентября 2016. Архивировано 26 июля 2017 года.
  5. Fietkau, Felix. OpenWrt switches to musl by default, openwrt-devel (15 июня 2015). Архивировано 30 июня 2015 года. Дата обращения 26 сентября 2016.
  6. Проект Musl на сайте GitHub
  7. morpheus: (недоступная ссылка). Дата обращения: 15 июня 2018. Архивировано 8 ноября 2020 года.

Ссылки