最新消息:20210816 当前crifan.com域名已被污染,为防止失联,请关注(页面右下角的)公众号

【转】uClibc v.s. glibc

工作和技术 crifan 1990浏览 0评论

【转】uClibc v.s. glibc

http://www.cash.idv.tw/wordpress/?p=2445

 

這兩個 C library 的異同, 網路上已經有很多論述. 不過我看大部分的網頁都是翻譯或轉貼 uclib 的官網, 這麼一來, 大家都只會看到 uclibc 的優點, 不會嗎?

http://www.uclibc.org/downloads/Glibc_vs_uClibc_Differences.txt

不過點進去看之後, 它的描述還頗為公正.

uClibc 自稱比較小而精簡, 把一些功能刪掉了.

所以缺點包括不保證跨平台、不提供 database (libdb)、NSS (DNS 與網路認證)、libresolv (做甚麼的? 找 IP 嗎?)、libnsl (yellow page、Network  Information Service)、語言的支援 (locale)、對 long double 的支援較低、對 encryption 支援度較低 (libcrypt)、綁定 Linux 的 ‘struct stat’ 架構與 kernel type、沒有 aio 或 clock、shm (做什麼的? 簡諧運動??? 哈!).

根據由儉入奢易的原則, 把 uClibc 的程式 porting 到 glibc 是容易的, 反之則難.

對了, uclibc 不適合用於有 MMU (memory manage unit) 的環境. 在動態連結的時候, 一定是用 glibc, 不然只能用到 simple MMU 的功能, 也就是 physical memory 和 virtual memory 是一一對應的.

Glibc 由 GNU 提供, 適合各種硬體平台.

uClibc 是針對 uC LInux C 開發的.

 

其他,请参考:

1. uClibc

http://zh.wikipedia.org/wiki/UClibc

转载请注明:在路上 » 【转】uClibc v.s. glibc

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
79 queries in 0.153 seconds, using 22.09MB memory