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
发表评论
-
道周中学2012年高三地理寒假作业答案
2012-01-20 11:42 570道周中学2012年高三地理 ... -
化学计算题的几种常见解法
2012-01-20 11:42 554化学计算题的几种常见解法 2012年01月15日 一、差 ... -
Windows编程类书籍介绍(转)
2012-01-20 11:42 460Windows编程类书籍介绍(转) 2012年01月08日 ... -
ls命令选项详解
2012-01-20 11:42 727ls命令选项详解 2012年01月19日 http:// ... -
js中export的问题-真爱无悔-博客园
2012-01-19 16:32 709js中export的问题-真爱无悔-博客园 2011年03月 ... -
AS3各种判断陷阱......以及处理方法
2012-01-19 16:32 545AS3各种判断陷阱......以 ... -
JavaScript的例外处理(try...catch...finally)
2012-01-19 16:32 600JavaScript的例外处理(try...catch...f ... -
转载 js中的基本常识 收藏
2012-01-19 16:32 542转载 js中的基本常识 收 ... -
JavaScript--JavaScript对象
2012-01-19 16:32 531JavaScript--JavaScript对象 2 ... -
给Win32 GUI程序调试信息输出方法
2012-01-17 06:17 705给Win32 GUI程序调试信息输出方法 2011年09月2 ... -
SAMSUNG S3C2440的简易BootLoader ㈢
2012-01-17 06:17 596SAMSUNG S3C2440的简易BootLoa ... -
meego开发的学习路线
2012-01-17 06:17 467meego开发的学习路线 2011年06月26日 不同版 ... -
GCC调试基础知识
2012-01-17 06:17 491GCC调试基础知识 2011年08月19日 1984年, ... -
神马都是浮云
2012-01-16 04:57 527神马都是浮云 2012年01月14日 今天给litt ... -
神马都是浮云。、
2012-01-16 04:57 564神马都是浮云。、 2011年12月12日 1、上课时,老 ... -
补考重修都是浮云!
2012-01-16 04:57 657补考重修都是浮云! 2012 ... -
神马=浮云?
2012-01-16 04:57 589神马=浮云? 2011年12月30日 我用一生的时间,在 ...
相关推荐
嵌入式GNU C库(Embedded GLIBC,缩写为 EGLIBC),一种C标准库,是GNU C 库(glibc)的一个分支。它是自由软件,采用GNU宽通用公共许可证(LGPL)发布。它希望能应用于嵌入式系统。 代码更简练,适合嵌入式学习,有...
mt7628对应的openwrt3.4sdk,编译过程提示无法连接eglibc的svn服务器。eglibc2.19可以使用。
gcc 标准库linux源码,可用于学习标准库源代码实现
飞思卡尔T1系列CPU的工具链,fsl-networking-eglibc-x86_64-ppce5500-toolchain-QorIQ-SDK-V1.7.sh -h查看编译说明,非常简单 支持i686架构
飞思卡尔T1系列CPU的工具链,fsl-networking-eglibc-x86_64-ppce5500-toolchain-QorIQ-SDK-V1.7.sh -h查看编译说明,非常简单 支持x86_64架构
*自制*的edgemax路由器交叉工具链,c库与机子上的相同。适用于在x86_64的linux服务器或PC上编译er-x路由器的e50.v1.10.11.5274269版本上跑的程序。自解压后,gcc在bin路径下,用于交叉编译mipsel程序,内涵联系方式...
C语言有三种标准库如下: 1.Glibc glibc = GNU C Library 是GNU项(GNU Project)目,所实现的 C语言标准库(C standard library)。 目前,常见的桌面和服务器中的GNU/Linux类的系统中,都是用的这套C语言标准...
在 Intel Galileo 上编译草图对于基于 eglibc(参见例如 )的 clton-full Linux 安装特别有用,在这种情况下,可以在SD 卡并从此卡启动伽利略。 背景:默认情况下,Arduino IDE 为 ulibc 构建草图,这些草图在 PC ...
powerPC 的交叉编译工具链,版本号:4.1.78,适用于PowerPC嵌入式平台的交叉编译
交叉编译,glibc
這裏多說一句,Musl是一個輕量級的C標準庫,此外還有uClibc ,多用於嵌入式系統,此外GNU還推出EGLIBC EGLIBC(Embedded GLIBC EGLIBC)用於輕量級應用。 引用:musl官網。 因此還需要準備一個musl編譯環境,建立...
glibc(使用 eglibc 2.15 测试) 支持 C++11 的 GNU C++ 编译器(使用 g++ 4.7 测试) scons 构建工具(在 Python 2.7 上用 2.2.0 测试) MySQL 客户端 C 库(使用 MySQL 5.5.27 测试) c-
日前,风河系统公司(Wind River)推出了其第四代商用嵌入式Linux平台,平台基于最新发布的Linux 2.6.34+内核和交叉编译(cross-compiling)工具链GCC 4.4、EGLIBC 2.11及GDB 7,支持业界领先的ARM、Intel、MIPS和...
日前,风河系统公司(Wind River)推出了其第四代商用嵌入式Linux平台,平台基于发布的Linux 2.6.34+内核和交叉编译(cross-compiling)工具链GCC 4.4、EGLIBC 2.11及GDB 7,支持业界的ARM、Intel、MIPS和Power...
Haskell 在 Intel Edison 上运行 $ unzip ~/Downloads/edison-sdk-linux64-ww18-15.zip$ ./poky-edison-eglibc-x86_64-edison-image-core2-32-toolchain-1.6.1.sh$ . /opt/poky-edison/1.6.1/environment-setup-...
在 eglibc 内存中动态查找并覆盖gets(3) (真正的IO_gets)的实现 杀死它并用更新的更安全的gets(3)实现替换它 支持 RELRO(部分、完整)和 PIE 的各种组合 以最不正确的方式做事最棒的 特征 safergets安全的gets(3...