libc,glibc, eglibc, klibc

C语言常用功能库:Klib Klib 是一个C语言常用功能库,是一个轻量级和独立的 Glib 版本。大多数组件都是独立的外部库,除了标准C库,并且相互独立。要使用这个库的一个组成部分,你只需要几个文件复制到你的源代码树,而不必担心库的依赖。 Klib求效率和小内存占用。有些部件,如khash.h,kbtree.h,ksort.h和kvec.h,都是相似的算法或数据结构中所有的编程语言的在速度和存储器使用方面最有效的实现方式。 立即下载

1.   libc

  libc是Linux下的ANSI C的函数库。  ANSI C是基本的C语言函数库,包含了C语言最基本的库函数。这个库可以根据 头文件划分为 15 个部分,其中包括:字符类型 ()、错误码 ()、 浮点常数 ()、数学常数 ()、标准定义 ()、 标准 I/O ()、工具函数 ()、字符串操作 ()、 时间和日期 ()、可变参数表 ()、信号 ()、 非局部跳转 ()、本地信息 ()、程序断言 () 等等。这在其他的C语言的IDE中都是有的。

2. glibc

glibc是gnu发布的libc,即c运行库。glibc是linux系统中最底层的api,几乎其它任何运行库都会依赖于glibc。glibc除了封装linux操作系统所提供的系统服务外,它本身也提供了许多其它一些必要功能服务的实现。由于 glibc 囊括了几乎所有的 UNIX 通行的标准,可以想见其内容包罗万有。而就像其他的 UNIX 系统一样,其内含的档案群分散于系统的树状目录结构中,像一个支架一般撑起整个作业系统。在 GNU/Linux 系统中,其C函式库发展史点出了GNU/Linux 演进的几个重要里程碑,用 glibc 作为系统的C函式库,是GNU/Linux演进的一个重要里程碑。

主要包含如下功能:

(1)string,字符串处理  

(2)signal,信号处理  

(3)dlfcn,管理共享库的动态加载  

(4)direct,文件目录操作  

(5)elf,共享库的动态加载器,也即interpreter  

(6)iconv,不同字符集的编码转换  

(7)inet,socket接口的实现  

(8)intl,国际化,也即gettext的实现  

(9)io  

(10)linuxthreads  

(11)locale,本地化  

(12)login,虚拟终端设备的管理,及系统的安全访问  

(13)malloc,动态内存的分配与管理  

(14)nis  

(15)stdlib,其它基本功能

3. eglibc

EGLIBC是 GNU C Library (GLIBC) 的一个变种,用于工作在嵌入式的系统中。EGLIBC 严格兼容二进制的 GLIBC 。  GLIBC为了实现最优化处理,致使在空间占用上越来越为人诟病。EGLIBC的主要特性是更好的支持嵌入式架构,支持不同的shell(GLIBC只支持bash),支持-Os,可配置组件,稳定分支修正了一些重要Bug等。  目前Debian已经决定用嵌入式GLIBC(EGLIBC)取代GNU C Library(GLIBC)。

4. klibc

klibc,一种C标准函式库,开发者为汉·彼得·艾文(Hans Peter Anvin)。它是自由软件,采用GNU 通用公众授权条款BSD授权条款。它主要应用于Linux开机流程中,而且它也是早期用户空间(Early user space)与initramfs的一部份。在此时,这些应用程式无法使用glibc。它也适用于嵌入式系统的开发。



Baselibc:用于微控制器的小型C库。 代码基于klibc 基本库 对于嵌入式系统来说,这是一个非常简单的libc。 主要用于10-100kB内存范围内的32位微控制器。 该库在Cortex-M3上的总编译量不到5kB,如果不使用某些功能,则编译量要少得多。 该代码基于klibc和tinyprintf模块,并已获得BSD许可。 类似项目 :一个更新的项目,具有更活跃的维护,在设计上非常相似。 立即下载

相关推荐

klibc 编译踩坑记

问题点: /include/limits.h:38:26: fatal error: linux/limits.h: 没有那个文件或目录 明显找不到头文件 根据网上的提示建立一个软链接linux到内核源码树的目录 然后make 各种问题依旧 后来只要找不到的文件就用软链接在内核的头文件目录里 链接过去 折腾了几十个文件,最终成功(发费时间2天) 这个过程,需要在内核的头文件目录中建...

dp__mcu的专栏 1116

C库及库函数、系统调用

C库的分类、区别 libcLinux下的ANSI C函数库,是基本的C语言函数库,一般在各种IDE中都有集成。 glibcLinux下的GNU C函数库,是GNU旗下的C标准库,在linux系统的/lib目录下的名称为libc.so.6。glibc支持很多种系统平台,功能很全,但是也相对比较臃肿和庞大。可以参考:http://nieyong.github.io/wiki_ny/glibc,%20eglibc%E5%92%8C%20glib%E7%9A%84%E5%8C%BA%E5%88%AB.htm

caotuo_csdn的博客 1799

initrd/bin/run-init源代码来源与klibc-2.0.4/usr/kinit目录

#include #include #include #include #include #include "run-init.h" static const char *program; static void __attribute__ ((noreturn)) usage(void) {     fprintf(stderr,         "Usag

linux-0.11调试教程 2917

Linux 文件系统Ramfs, rootfs and initramfs

Linux 文件系统Ramfs, rootfs and initramfs

小立仔 2699

cpio 学习记录

cpio 包含 klibc klibc 分析:ipconfig:     配置网络接口的工具,可以通过静态设置IP或DHCP动态获得IP地址nfsmount:   mount  NFS filesystem的程序kinit:          使用ipconfig 和nfsmount 取代IP autoconfig , 通过NFS mount 文件系统等老的支持,并且通过mount这个文件系统作为

Farcub的专栏 314

Ubuntu 底层库;gcc,g++关系 - 学习记录 2020/5/23

打算从今天开始开一个记录每日学习内容和学习计划的一个专栏,用来督促自己每日有所得不浪费光阴。一开始的记录方式不会太成熟,不过以后会慢慢探索一个比较好的记录方式。此专栏只为自己服务,不对其他人负责。 此致 2020/5/23 研一 Ubuntu 底层库;gcc,g++关系 今天的任务是测试一下师兄给的c语言项目文件,文件是在linux上编写的。本来打算在windows10上直接用visual studio2013运行一下算了,结果发现在linux上编写的程序调用了一些只有linux上才有的库函数,vs上直接运

Seth423的博客 358

尝试initramfs+klibc

<!--st1/:*{behavior:url(#ieooui) }--><!-- /* Font Definitions */ @font-face {font-family:宋体; panose-1:2 1 6 0 3 1 1 1 1 1; mso-font-alt:SimSun; mso-font-charset:134; mso-generi

zjujoe的专栏 3081

Go最全理清gcc、libcglibclibc+(1),2024年最新Golang编程基础学习

glib也是个c程序库,不过比较轻量级,glib将C语言中的数据类型统一封装成自己的数据类型,提供了C语言常用的数据结构的定义以及处理函数,有趣的宏以及可移植的封装等(注:glib是可移植的,说明你可以在linux下,也可以在windows下使用它)。后缀为.c的,gcc把它当作是C程序,而g++当作是c++程序,后缀为.cpp的,两者都会认为是c++程序,注意,虽然c++是c的超集,但是两者对语法的要求是有区别的。想更详细地了解glib?这里的e是Embedded的意思,也就是前面说到的变种glibc

2401_84910911的博客 847

libcglibc和glib的关系

转自:http://my.oschina.net/moooofly/blog/126260 【glibclibc】  glibclibc 都是 Linux 下的 C 函数库。  libcLinux 下的 ANSI C 函数库;glibcLinux 下的 GUN C 函数库。  ANSI C 和 GNU C 有什么区别呢?         ANS

yasi_xi的专栏 9万+

glibc, eglibc和 glib的区别

很多人会混淆glibc和glib,简单说一下他们的区别 其实严格得说它们几乎没有任何关系 glibclinux下面c标准库的实现,当然linux下面的标准c库不仅有这一个,如uclibcklibc,但是glibc无疑是用得最多的。 而glib是GTK+的基础库,它由基础类型、对核心应用的支持、实用功能、数据类型和对象系统五个部分组成,可以在www.gtk.org网站下载其源代码。是一

marken 6352

每日开源硬件精选简报 2026-09-11

PSLab(Pocket Science Lab,口袋科学实验室)由国际开源组织 FOSSASIA 维护,目标是把一套基础测量仪器装进一块手掌大小的板子,让物理、电子与科学实验用极低的成本完成。硬件第一版由 Jithin(jithinbp)设计,后续版本由 Padmal(CloudyPadmal)与 Rafael(RafaelLeeImg)接力,目前硬件默认分支已推进到pslab-v6。

飞多学堂的博客 145

紫光FPGA远程升级注意事项(关于GTP_CFGCLK原语使用问题)

结果在烧写sfc文件后加载异常缓慢。问题根本原因是调用这个原语会导致加载时候的时钟异常,那么在加载时候屏蔽这条原语即可,这里参考方案里面提供了GTP_START_E1这个原语,具体原语介绍可以参考官方手册UG040007_Logos2系列产品GTP用户指南(其他型号的GTP手册应该也有介绍)其中wakeup_over_n为低有效信号,在配置时拉高,配置完成型号变为低电平,指示配置完成。spi_clk_en为低有效信号,在上位机(MCU)要写flash时拉低,此时CFGCLK信号由sys_clk信号驱动。

my_daling的博客 148

S009A-基于STM32单片机出租车计价器【Proteus仿真+Keil程序+原理图】

设计以STM32单片机、A3144霍尔传感器、OLED显示屏、L9110电机驱动、直流减速电机、磁钢、按键及LED灯搭建硬件系统。A3144采集电机转动脉冲,计算车速与行驶里程,OLED展示计价状态、里程、速度与费用。按键配置起步价、公里价、低速等待价,参数由FLASH掉电保存,按计费公式完成费用核算,单片机输出PWM控制电机转速。

51单片机实物制作DIY设计 248

基于抗辐射MCU的卫星分布式控制系统CANFD总线架构研究

摘要:随着低轨卫星功能复杂度的持续提升,星上各分系统之间的数据交互量呈指数级增长,传统CAN总线在带宽与实时性方面的局限日益凸显。CANFD(Controller Area Network with Flexible Data-rate)作为CAN协议的升级版,将单帧数据负载从8字节扩展至64字节,并将数据段最高传输速率提升至4 Mbps,已成为新一代卫星内部总线的重要候选方案。本文以国科安芯AS32S601ZIT2型商业航天级微控制器为核心,基于该器件在重离子加速器、质子加速器及总剂量辐照下的实测抗辐射数

ANSILIC的博客 2935

暑假总结(简历吹牛)

• 完成 USART2 + RS485、双 ADC DMA、W25Q256、AT24C02C、SDIO/FatFs、• 熟悉 STM32F1/F4 裸机与 HAL 开发,掌握 GPIO、TIM、ADC、DMA、USART、Acquire、Log、Monitor 四个任务,使用任务通知、队列和互斥锁完成中断、• 能够使用万用表、示波器、USB-CAN、USB-RS485和串口工具,通过阻值、电压、• 具备从需求、协议、驱动、RTOS任务、PCB设计、焊接、测试到GitHub交付的。

2301_82190326的博客 139

104/101协议-104协议开源库

<think>我们只需要根据内容生成≤150字的摘要。内容是关于lib60870开源库的介绍,包括概述、特性、核心组件、应用场景等。摘要要简洁,抓住重点。</think>lib60870是用于IEC60870-5-101/104协议的开源C库,支持串行与TCP/IP通信,跨平台且可嵌入,提供TLS加密,适用于电力SCADA、数据采集和远程控制。其核心含CS101、CS104模块,轻量高效,但文档简略。代码示例、学习资源及库获取方式详见原文。

梦想启航 505

基于stm32的智能荷兰豆生长舱监控系统

基于stm32的智能荷兰豆生长舱监控系统 硬件: 一、信息采集: 采集光照强度、二氧化碳浓度、温湿度、土壤氮磷钾、土壤湿度、土壤PH,土壤电导率 二、功能: 1.将采集到的数据通过显示屏进行显示,并且可用上位机同步显示; 2.手动模式:可按键(上位机)控制水泵,风扇通风系统、补光系统的打开和关闭。能够通过按键设置温度或者湿度的报警范围, 同时当蜂鸣器报警后能够通过按键(上位机)消音,通过按键(上位机)修改的状态会在上位机(显示屏)中同步显示修改; 3.自动模式下 (1)当温度超过温度上限时会产生声光报警并驱

计算机专业定做 154

开源 lwIP:单片机上的轻量 TCP/IP 协议栈

我们要的是 Linux 那套完整网络世界,还是一份能塞进 MCU 的、可裁剪的 TCP/IP?lwIP 把路走窄了,也走实了:窄在不做通用 OS 网络子系统;实在无数量产固件里默默转发每一包。它不靠刷星证明自己,靠的是——你打开厂商工程时,头文件里已经写着lwip。厂商/官方 echo 例程 → 读懂lwipopts.h→ ping 通 → 一条 TCP/UDP → 再叠 MQTT/HTTP。别第一天就对吞吐和 TLS 一起开战——先让协议栈在板上「活着」。

buhuidage的博客 187
上一篇: cartesio_nand.c
下一篇: musb_core.c 解析
lamdoc
博客等级 码龄18年 155粉丝 655原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值