uclibc與uc-libc的區別

uClinux有兩個經常使用的libc庫:uC-libc和uClibc.雖然兩者名字很相似,其實
有很大的不同,下面就簡單的介紹一下二者的不同之處.
uC-libc是最早爲uClinux開發的庫.它基於Linux-8086 C庫的源碼,而Linux-8086
C庫是Jeff Dionne和Kenneth Albanowski爲EKLs項目支持m68000添加的.uC-libc
是一個完全的libc實現,但是,其中有一些api是非標準的,有些libc的標準也沒有
實現.現在,uC-libc穩定地支持m68000,ColdFire和ARM(沒有MMU)架構.它的首要
設計目標是小,"輕".它嘗試着和所有的標準一致,雖然它的API和很多libc都相容,
但是似乎並不像它想的那樣和所有標準一致.

uClibc就是爲了解決這個問題從uC-libc中發展出來的.它的所有API都是標準的
(正確的返回類型,參數等等),它彌補了uC-libc中沒有實現的libc標準,現在已經
被移植到多種架構中.基本上,它試着和glibc兼容,這樣將應用程序用uClibc改寫
就很容易.它能夠在標準的VM linux和uClinux上面使用.爲了應用程序的簡潔,它
甚至可以在大多數支持MMU的平臺上被編譯成共享庫.Erik Anderson在uClibc背
後做了很多的工作.uClibc支持一系列的處理器:
m68000,Coldfire,ARM,MIPS,v850,x86,i960,Sparc,SuperH,Alpha,PowerPC和
Hitachi 8.不斷增加的平臺支持顯示uClibc能夠很容易的適應新的架構.
uClinux發行版提供了環境能夠讓你選擇使用uC-libc或是uClibc編譯.對於
m68000和Coldfire平臺來說,選擇uC-libc還是稍微好一點,因爲它支持共享庫,而
共享庫是這些cpu經常使用的libc.uClibc也幾乎和所有的平臺都能很好的工作.
選擇哪種libc取決於你的需求. 
發佈了9 篇原創文章 · 獲贊 4 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章