musl

C標準函式庫

musl,一种C标准函式库,主要使用于以Linux内核为主的作业系统上,目标为嵌入式系统行动装置,采用MIT许可证释出。作者为瑞奇·费尔克(Rich Felker)。开发此库的目的是写一份干净、高效、符合标准的C标准库。[2]

musl
开发者瑞奇·费尔克 (dalias) 与其他开发者
首次发布2011年2月11日,​13年前​(2011-02-11[1]
当前版本1.2.3(2022年4月7日,​2年前​(2022-04-07
源代码库 编辑维基数据链接
操作系统Linux 2.6或更新
平台x86, x86 64, ARM, MIPS, Microblaze英语Microblaze, PowerPC, ppc64, x32, OpenRISC英语OpenRISC, SuperH
类型
许可协议MIT许可证
网站musl.libc.org

概述

编辑

Musl是从零开始设计的。一是希望让静态链接更高效;二是现有的C标准库在一些极端条件下表现很糟糕,竞态条件、资源不足时常常会出问题,而Musl试图避免它们来达到较高的实时强健性[2]Musl的动态运行时只有一个文件,有稳定的ABI,因此可以实现无竞态的版本升级。对静态链接的支持也让可移植单文件应用部署成为可能,而且不会使文件体积膨胀很多。

Musl声称与POSIX 2008标准和C11标准兼容,还实现了多数广泛使用但非标准的LinuxBSDglibc函数。[3]

使用

编辑

有些Linux发行版可以使用Musl作为标准C库,例如Alpine LinuxDragora 3英语Dragora GNU/Linux-LibreGentoo LinuxOpenWrt、Sabotage[4]、Morpheus Linux[5]Void Linux。对于链接到glibc的二进制程序,gcompat[6]能让它们在基于Musl的发行版上运行。

参见

编辑

注释

编辑
  1. ^ musl - obsolete versions. musl-libc.org. 2017-10-31 [2018-01-14]. (原始内容存档于2020-01-17). 
  2. ^ 2.0 2.1 Introduction to musl. 2016-04-21 [2016-09-26]. (原始内容存档于2020-11-12). 
  3. ^ musl libc - Compatibility. wiki.musl-libc.org. [2024-01-21]. (原始内容存档于2021-10-17) (英语). 
  4. ^ GitHub上的README.md页面
  5. ^ morpheus:. [2018-06-15]. (原始内容存档于2020-11-08). 
  6. ^ Adélie Linux / gcompat. GitLab. [2019-10-21]. (原始内容存档于2020-10-28) (英语). 

外部链接

编辑