EGLIBC库介绍
一、介绍
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的版权则属于许多捐助者。
分享到:
相关推荐
《深入剖析eglibc-2.19:gcc标准库在Linux环境下的源码解析》 在编程领域,理解和研究标准库源码对于提升技术水平、优化程序性能以及解决底层问题至关重要。eglibc(Embedded GNU C Library)是Linux系统中广泛使用...
嵌入式GNU C库(Embedded GLIBC,缩写为 EGLIBC),一种C标准库,是GNU C 库(glibc)的一个分支。它是自由软件,采用GNU宽通用公共许可证(LGPL)发布。它希望能应用于嵌入式系统。 代码更简练,适合嵌入式学习,有...
飞思卡尔T1系列CPU的工具链,fsl-networking-eglibc-x86_64-ppce5500-toolchain-QorIQ-SDK-V1.7.sh -h查看编译说明,非常简单 支持i686架构
mt7628对应的openwrt3.4sdk,编译过程提示无法连接eglibc的svn服务器。eglibc2.19可以使用。
飞思卡尔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程序,内涵联系方式...
QorIQ是飞思卡尔的一个产品系列,包含了多种多核通信处理器,而“eglibc”指的是Embedded GNU C Library,这是一个专为嵌入式系统优化的C库。 使用这些工具链,开发者可以: 1. **编译代码**:通过这些工具,...
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嵌入式平台的交叉编译
对于其他库,如数学函数,可能需要设置`directory /path/to/eglibc-2.13/math`。记得根据实际的glibc源代码路径进行调整。 一旦进入主函数(`start`),你可以使用`step`命令逐行执行代码,甚至进入glibc函数的内部...
交叉编译,glibc
4. **eglibc (Embedded GNU C Library)**: 这是针对嵌入式系统的C库,它是GLIBC(GNU C Library)的一个轻量级分支,为资源受限的环境提供了必要的库支持。版本2.18意味着这个编译器集成了这一特定版本的C库。 使用...
1. **选择正确的交叉编译工具链**:在这个例子中,我们使用了`gcc-linaro-arm-linux-gnueabihf`和`arm-cortex_a9-eabi-4.7-eglibc-2.18`,它们是针对ARM架构的GCC编译器。这些工具链包含了用于构建ARM二进制文件的...
- **C库选择**:常用的C库有glibc、eglibc和uClibc。 - **glibc**:功能齐全但体积较大。 - **eglibc**:glibc的变种,更适合嵌入式系统,更易于配置。 - **uClibc**:体积小,但在线程库和其他POSIX功能方面相对...
接下来依次编译安装GMP、MPFR、PPL、CLooG-PPL、Binutils、GCC、EGLIBC等基础库和工具。每个组件的安装步骤大致相似,主要包括解压源码包、配置编译选项、编译和安装。 #### 三、构建基本工具 构建基本工具是在...
- 使用SVN命令下载代码库: ```bash svn co svn://svn.openwrt.org/openwrt/trunk/ ``` - 或者直接下载最新的源代码包。 2. **创建开发环境**: - 以`gec`用户身份登录Linux系统。 - 在`gec`用户的家目录下...
2. `fsl-networking-eglibc-i686-ppc64e6500-toolchain-QorIQ-SDK-V1.7.sh`:这个脚本对应于i686架构,功能与上述脚本相似,只是适应于32位的宿主机环境。 在使用这个工具链进行开发时,开发者可以通过在命令行输入...
這裏多說一句,Musl是一個輕量級的C標準庫,此外還有uClibc ,多用於嵌入式系統,此外GNU還推出EGLIBC EGLIBC(Embedded GLIBC EGLIBC)用於輕量級應用。 引用:musl官網。 因此還需要準備一個musl編譯環境,建立...
在本文中,我们将详细介绍如何在Ubuntu系统中搭建Qt 4.8.4的交叉编译环境,以便在MPC8315EVB嵌入式平台上运行应用程序。首先,我们需要安装Qt Creator,它是Qt开发环境的主要组件。 1. **安装Qt Creator**: 可以...