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) (英語).