uC-libc和uClibc的区别

uClinux的通用c库:uC-libc和uClibc的区别概述

uClinux通常使用两种c库:uC-libc和uClibc.尽管它们名字近似,但有很大区别.本文是对它们不同点的快速浏览.
uC-libc是uClinux的原始c 库,它基于Linux-8086 c库,该c 库是ELKs 工程的一部分,支持m68000结构.uC-libc是一个相当全面的c 库,但它的一些API是非标准的,一些通用库例程现在已不再使用.目前它能稳定地支持m68000,ColdFire和ARM(不带MMU)结构 .其主要设计目标是小型化和轻量级.它力图符合通用标准,它的API也与绝大多数的c 库兼容,但与标准难免有出入.
uClibc是uC-libc的派生体,用来解决uC-libc存在的问题.它让所有的API都标准化(正确的类型,参数等),补充了许多缺失的例程,并 且已经移植到许多结构中.大体上讲,它通过提供glibc兼容使得应用程序移植到较小的c 库时相当得容易. 它能够应用到带虚拟存储的Linux和uClinux上.在大多数带MMU部件的平台上为使它更加紧凑,它也能够编译成共享库.uClibc支持许多处理 器:m68000,ColdFire,ARM,MIPS,v850,x86,iArray60,Sparc,SuperH,Alpha,PowerPC和 Hitachi 8.uClibc能更加容易地适应新的体系结构,它所支持的平台数目至今仍在增长证实了这一点.
可以根据你的需要来选择uClinux使用uC-libc或者uClibc编译环境.对m68000和ColdFire平台通常选择uC-libc, 因为它支持共享库,是这些处理器上使用最广泛的c 库.uClibc also works quite well with almost all platforms supported by the distribution.你的需要将最终决定到底选择哪一种c库.

 

你可能感兴趣的:(c,linux,api,存储,平台,X86)