Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

musl - это стандартная библиотека C, предназначенная для операционных систем на базе ядра Linux , выпущенная под лицензией MIT . [3] Он был разработан Ричем Фелкером с целью написать чистую, эффективную и соответствующую стандартам реализацию libc. [4]

Обзор [ править ]

musl был разработан с нуля, чтобы обеспечить эффективное статическое связывание и обеспечить надежность качества в реальном времени, избегая условий гонки , внутренних сбоев при исчерпании ресурсов и различных других плохих худших вариантов поведения, присутствующих в существующих реализациях. [4] Динамическая среда выполнения - это единый файл со стабильным ABI, позволяющий обновлять без гонок, а поддержка статической компоновки позволяет развертывать приложение как единый переносимый двоичный файл без значительных накладных расходов.

В нем заявлена ​​совместимость со спецификацией POSIX 2008 и стандартом C11 . Он также реализует большинство широко используемых нестандартных функций Linux , BSD и glibc . [5] Существует частичная совместимость ABI с частью glibc, требуемой Linux Standard Base . [6]

Версия 1.2.0 имеет поддержку (более не актуальную) Unicode 12.1.0 (хотя по-прежнему имеет полную поддержку UTF-8 , [7] более совместима / строгая, чем glibc ), а версия 1.2.1 »содержит новый mallocng malloc. реализация, заменяющая исходный распределитель памяти musl, подобный dlmalloc, который страдал от фундаментальных проблем проектирования ". [2]

Используйте [ редактировать ]

Некоторые дистрибутивы Linux, которые могут использовать musl в качестве стандартной библиотеки C, включают Alpine Linux , Dragora 3 , Gentoo Linux , OpenWrt , Sabotage, [8] Morpheus Linux [9] и Void Linux . seL4 microkernel [10] поставляется с musl. Для двоичных файлов, которые были связаны с glibc, gcompat [11] может использоваться для их выполнения в основанных на musl дистрибутивах.

См. Также [ править ]

  • Бионический libc
  • диета
  • EGLIBC
  • glibc
  • klibc
  • Newlib
  • uClibc

Ссылки [ править ]

  1. ^ "мусл - устаревшие версии" . musl-libc.org . 2017-10-31 . Проверено 14 января 2018 .>
  2. ^ a b "История выпусков musl libc" . musl.libc.org . Проверено 13 августа 2020 .
  3. ^ Рич Фелкер; и другие. (2016-04-29). «АВТОРСКОЕ ПРАВО» . Проверено 26 сентября 2016 .
  4. ^ a b «Введение в мусл» . 2016-04-21 . Проверено 26 сентября 2016 .
  5. ^ «Совместимость» . wiki.musl-libc.org . 2014-05-27 . Проверено 26 сентября 2016 .
  6. ^ «Сравнение реализаций стандартной библиотеки C / POSIX для Linux» . www.etalabs.net .
  7. ^ "musl libc - Функциональные отличия от glibc" . wiki.musl-libc.org . Проверено 13 августа 2020 .
  8. ^ README.md на GitHub
  9. ^ "morpheus:" . Проверено 15 июня 2018 .
  10. ^ seL4 / musllibc , seL4 microkernel и связанные репозитории, 30 августа 2020 г. , получено 5 сентября 2020 г.
  11. ^ "Адели Linux / gcompat" . GitLab . Проверено 21 октября 2019 .

Внешние ссылки [ править ]

  • Официальный веб-сайт
  • Сравнение реализаций стандартной библиотеки C / POSIX для Linux
  • Матрица стандартных библиотек C / POSIX по архитектуре
  • Project: Hardened musl на Gentoo wiki
  • Рич Фелкер выступил с докладом на конференции Embedded Linux (ELC) 2015: ELC 2015 - Переход от uclibc к musl для разработки встраиваемых систем - Рич Фелкер, Openwall