musl
C標準函式庫
musl,一種C標準函式庫,主要使用於以Linux核心為主的作業系統上,目標為嵌入式系統與行動裝置,採用MIT授權條款釋出。作者為瑞奇·費爾克(Rich Felker)。開發此庫的目的是寫一份乾淨、高效、符合標準的C標準庫。[3]
![]() | |
開發者 | 瑞奇·費爾克 (dalias) 與其他開發者 |
---|---|
首次釋出 | 2011年2月11日[1] |
目前版本 |
|
原始碼庫 | |
作業系統 | Linux 2.6或更新 |
平台 | x86, x86 64, ARM, MIPS, Microblaze, PowerPC, ppc64, x32, OpenRISC, SuperH |
類型 | |
授權條款 | MIT授權條款 |
網站 | musl |
概述
編輯Musl是從零開始設計的。一是希望讓靜態連結更高效;二是現有的C標準庫在一些極端條件下表現很糟糕,競態條件、資源不足時常常會出問題,而Musl試圖避免它們來達到較高的即時強健性。[3]Musl的動態執行時只有一個檔案,有穩定的ABI,因此可以實現無競態的版本升級。對靜態連結的支援也讓可移植單檔案應用部署成為可能,而且不會使檔案體積膨脹很多。
Musl聲稱與POSIX 2008標準和C11標準相容,還實現了多數廣泛使用但非標準的Linux、BSD和glibc函式。[4]
使用
編輯有些Linux發行版可以使用Musl作為標準C庫,例如Alpine Linux、Dragora 3、Gentoo Linux、OpenWrt、Sabotage[5]、Morpheus Linux[6]、Void Linux。對於連結到glibc的二進制程式,gcompat[7]能讓它們在基於Musl的發行版上執行。
參見
編輯註釋
編輯- ^ musl - obsolete versions. musl-libc.org. 2017-10-31 [2018-01-14]. (原始內容存檔於2020-01-17).
- ^ musl 1.2.5 released. 2024年3月1日 [2024年3月1日].
- ^ 3.0 3.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) (英語).