![]() | |
Разработчики) | Рич Фелкер (Далиас) и другие |
---|---|
изначальный выпуск | 11 февраля 2011 г . [1] |
Стабильный выпуск | 1.2.2 [2] / 15 января 2021 г . |
Репозиторий | ![]() |
Операционная система | Linux 2.6 или новее |
Платформа | x86 , x86 64 , ARM , MIPS , Microblaze , PowerPC , powerpc64 , x32 , OpenRISC , s390x , SuperH |
Тип | |
Лицензия | Лицензия MIT |
Интернет сайт | musl.libc.org |
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
Ссылки [ править ]
- ^ "мусл - устаревшие версии" . musl-libc.org . 2017-10-31 . Проверено 14 января 2018 .>
- ^ a b "История выпусков musl libc" . musl.libc.org . Проверено 13 августа 2020 .
- ^ Рич Фелкер; и другие. (2016-04-29). «АВТОРСКОЕ ПРАВО» . Проверено 26 сентября 2016 .
- ^ a b «Введение в мусл» . 2016-04-21 . Проверено 26 сентября 2016 .
- ^ «Совместимость» . wiki.musl-libc.org . 2014-05-27 . Проверено 26 сентября 2016 .
- ^ «Сравнение реализаций стандартной библиотеки C / POSIX для Linux» . www.etalabs.net .
- ^ "musl libc - Функциональные отличия от glibc" . wiki.musl-libc.org . Проверено 13 августа 2020 .
- ^ README.md на GitHub
- ^ "morpheus:" . Проверено 15 июня 2018 .
- ^ seL4 / musllibc , seL4 microkernel и связанные репозитории, 30 августа 2020 г. , получено 5 сентября 2020 г.
- ^ "Адели Linux / gcompat" . GitLab . Проверено 21 октября 2019 .
Внешние ссылки [ править ]
- Официальный веб-сайт
- Сравнение реализаций стандартной библиотеки C / POSIX для Linux
- Матрица стандартных библиотек C / POSIX по архитектуре
- Project: Hardened musl на Gentoo wiki
- Рич Фелкер выступил с докладом на конференции Embedded Linux (ELC) 2015: ELC 2015 - Переход от uclibc к musl для разработки встраиваемых систем - Рич Фелкер, Openwall