EGLIBC库介绍


EGLIBC库介绍
2011年05月05日
  
一、介绍
  1、概览
  扩充和增强GNU C库的功能,以支持各种不同环境的嵌入式系统,并维持开放的开发环境,鼓励开发者的广泛协作。
  2、免费软件的目标
  ?? 支持GNU项目的目标
  ?? LGPL许可证
  ?? FSF拥有版权
  3、设计目标
  ?? 提供一个选择,以减少磁盘和内存占用。
  ?? 支持交叉编译和交叉验证。
  ?? 支持用于嵌入式系统的处理器。
  ?? 组合支持处理器的特殊功能。
  ?? 保持API和ABI兼容。
  4、开发环境
  所有补丁由FSF分配。
  鼓励合作、沟通、礼貌、相互尊重和开发。
  二、EGLIBC与GLIBC的比较
  EGLIBC并不意味着它是GLIBC的分支。GLIBC对于核心任务是非常适合的:提供了一个C库用于工作站和服务器的GNU/Linux系统。然而GLIBC开发者需要在嵌入式系统使用GLIBC,但是非常困难。EGLIBC的目标就是要提供一个GLIBC的变种用于嵌入式系统,而且几乎不做改动,尽可能与GLIBC兼容。
  EGLIBC的维护者定期合并GLIBC的改变到EGLIBC。
  对于GLIBC的维护者来说,他们把重点放在对服务器和工作站系统领域。然而EGLIBC则是嵌入式领域。
  三、uClibc与EGLIBC的比较
  uClibc与EGLIBC有一个共同的目标,都是为嵌入式系统提供一个C标准函数库。然而,uClibc和EGLIBC也有很多不同。
  首先, uClibc在目前已经封装进大量的系统,也就是说,很多系统都在使用uClibc。而EGLIBC是一个新项目。如果你需要一个小型的C库,那么uClibc是更好的选择。
  以下将介绍EGLIBC的未来目标,而不是目前的状态。
  uClibc在设计上就是源码兼容GLIBC的,但它不是二进制(binary)兼容。要使用uClibc,您必须重新编译应用程序。而EGLIBC的维护者希望EGLIBC能够满足二进制也兼容GLIBC。这意味着,只要EGLIBC的版本提供了应用程序的所有所需,那么使用GLIBC编译的应用程序可以使用EGLIBC代替GLIBC库,无需重新编译应用程序。
  当GLIBC添加新功能时,它能很容易地纳入EGLIBC,因为EGLIBC基于GLIBC的。但是增加新功能到uClibc库需要做大量工作。因为uClibc源码库是单独的。
  uClibc支持uClinux的,而EGLIBC更可能只工作于带MMU功能的GNU / Linux系统。
  uClibc和EGLIBC都是免费软件,都是基于LGPL许可证的。然而,EGLIBC的大多数代码贡献给自由软件基金会(Free Software Foundation),或者是在公共领域。相比之下,uClibc的版权则属于许多捐助者。
  本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/chszs/archive/2009/05/19/4201832.aspx

猜你喜欢

转载自zc373zc.iteye.com/blog/1359308