musl
C標準函式庫
musl,一种C标准函式库,主要使用于以Linux内核为主的作业系统上,目标为嵌入式系统与行动装置,采用MIT许可证释出。作者为瑞奇·费尔克(Rich Felker)。开发此库的目的是写一份干净、高效、符合标准的C标准库。[2]
开发者 | 瑞奇·费尔克 (dalias) 与其他开发者 |
---|---|
首次发布 | 2011年2月11日[1] |
当前版本 | 1.2.3(2022年4月7日 | )
源代码库 | |
操作系统 | Linux 2.6或更新 |
平台 | x86, x86 64, ARM, MIPS, Microblaze, PowerPC, ppc64, x32, OpenRISC, SuperH |
类型 | |
许可协议 | MIT许可证 |
网站 | musl |
概述
编辑Musl是从零开始设计的。一是希望让静态链接更高效;二是现有的C标准库在一些极端条件下表现很糟糕,竞态条件、资源不足时常常会出问题,而Musl试图避免它们来达到较高的实时强健性。[2]Musl的动态运行时只有一个文件,有稳定的ABI,因此可以实现无竞态的版本升级。对静态链接的支持也让可移植单文件应用部署成为可能,而且不会使文件体积膨胀很多。
Musl声称与POSIX 2008标准和C11标准兼容,还实现了多数广泛使用但非标准的Linux、BSD和glibc函数。[3]
使用
编辑有些Linux发行版可以使用Musl作为标准C库,例如Alpine Linux、Dragora 3、Gentoo Linux、OpenWrt、Sabotage[4]、Morpheus Linux[5]、Void Linux。对于链接到glibc的二进制程序,gcompat[6]能让它们在基于Musl的发行版上运行。
参见
编辑注释
编辑- ^ musl - obsolete versions. musl-libc.org. 2017-10-31 [2018-01-14]. (原始内容存档于2020-01-17).
- ^ 2.0 2.1 Introduction to musl. 2016-04-21 [2016-09-26]. (原始内容存档于2020-11-12).
- ^ musl libc - Compatibility. wiki.musl-libc.org. [2024-01-21]. (原始内容存档于2021-10-17) (英语).
- ^ GitHub上的README.md页面
- ^ morpheus:. [2018-06-15]. (原始内容存档于2020-11-08).
- ^ Adélie Linux / gcompat. GitLab. [2019-10-21]. (原始内容存档于2020-10-28) (英语).