musl

维基百科,自由的百科全书
跳转到导航 跳转到搜索

musl
File:Musl libc.svg
开发者瑞奇·费尔克 (dalias) 与其他开发者
首次发布2011年2月11日,​15年前​(2011-02-11[1]
当前版本1.2.3(2022年4月7日,​4年前​(2022-04-07
原始码库
  • {{URL|example.com|可选的显示文本}}
Module:EditAtWikidata第29行Lua错误:attempt to index field 'wikibase' (a nil value)
引擎
    Module:EditAtWikidata第29行Lua错误:attempt to index field 'wikibase' (a nil value)
    操作系统Linux 2.6或更新
    平台x86, x86 64, ARM, MIPS, Microblaze英语Microblaze, PowerPC, ppc64, x32, OpenRISC英语OpenRISC, SuperH
    类型
    许可协议MIT许可证
    网站musl.libc.org

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

    概述[编辑]

    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) (English). 
    4. ^ GitHub上的README.md页面
    5. ^ morpheus:. [2018-06-15]. (原始内容存档于2020-11-08). 
    6. ^ Adélie Linux / gcompat. GitLab. [2019-10-21]. (原始内容存档于2020-10-28) (English). 

    外部链接[编辑]