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许可。 类似项目 :一个更新的项目,具有更活跃的维护,在设计上非常相似。 立即下载

相关推荐

手把手教你用89C52单片机驱动0.96寸OLED(IIC接口,附完整代码)

本文详细介绍了如何使用89C52单片机通过I2C接口驱动0.96寸OLED显示屏,包括硬件连接、I2C通信原理、SSD1306驱动芯片的初始化及显存管理技巧,并提供了完整的代码示例和常见问题排查方法,帮助电子爱好者快速掌握OLED显示技术。

weixin_30781433的博客 370

klibc 编译踩坑记

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

dp__mcu的专栏 1118

网络安全 —— 实验(基于华为eNSP模拟器)

8. 实验八 —— 通过路由的远程管理(基于实验七的基础配置)8. 实验八 —— 通过路由的远程管理(基于实验七的基础配置)6. 实验六 —— 交换机的远程控制(直接控制和间接控制)6. 实验六 —— 交换机的远程控制(直接控制和间接控制)5. 实验五 —— 将交换机作为PC端通过交换机相连。5. 实验五 —— 将交换机作为PC端通过交换机相连。4. 实验四 —— 两个PC机通过两台交换机相连。2. 实验二 —— 两个PC机通过交换机相连。2. 实验二 —— 两个PC机通过交换机相连。

这个家伙看起来很懒,只想把你留下来哦 9342

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调试教程 2927

ubuntu20.04下内核源码下载分析

ubuntu 20.04下内核源代码下载,配置编译环境写在前面一、安装VMware Workstation和Ubuntu20.04二、修改apt源合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 写在前面 我最近的科研工作需要使用到对ubun

冰冻三尺非一日之寒 1万+

从零开始:kohya_ss环境部署与LoRA/SDXL模型训练实战指南

本文提供了一份详细的kohya_ss环境部署与模型训练实战指南。从零开始,手把手教你使用Conda创建虚拟环境、安装依赖并启动Web GUI界面。核心内容涵盖高质量数据集的准备方法,并重点解析了如何使用kohya_ss工具进行LoRA模型和SDXL模型的微调训练,包括关键参数配置与常见报错解决方案,帮助初学者快速上手AI绘画模型定制。

weixin_29162439的博客 536

C库及库函数、系统调用

C库的分类、区别 libc:Linux下的ANSI C函数库,是基本的C语言函数库,一般在各种IDE中都有集成。 glibc:Linux下的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的博客 1803

【DRAM存储器六十八】DDR5介绍--DQS Interval Oscillator—动态时序校准利器

DDR5内存采用DQS间隔振荡器(DQSIntervalOscillator)技术应对高速数据传输中的时序漂移问题。该技术通过测量DQS信号在可编程时间窗口内的振荡次数(16位计数值),动态监测温度/电压变化导致的DQS-DQ延迟偏移。控制器通过MPC命令启停振荡器,读取MR46/MR47寄存器获取计数值,并与基准值对比来调整DQS相位,确保数据采样窗口始终处于最佳位置。该机制使DDR5在8400MT/s高速率下仍能保持数据可靠性,有效补偿±0.48tCK的时序偏移。

highman110的博客 153

Linux 文件系统Ramfs, rootfs and initramfs

Linux 文件系统Ramfs, rootfs and initramfs

小立仔 2733

拼多多Android面试题及参考答案

Android 系统采用分层架构设计,从底层到上层依次为Linux 内核层硬件抽象层(HAL)系统运行时库层应用框架层应用层,共五层。位置:Linux 内核层与系统运行时库层之间,是“硬件与系统的隔离层”。核心作用:屏蔽硬件差异,为上层提供统一的硬件访问接口,解决 Android 开源与硬件厂商闭源的矛盾,具体功能如下:硬件能力抽象:将硬件的具体实现(如不同厂商的摄像头芯片、音频芯片)封装为标准化接口(如Camera HALAudio HAL。

大模型大数据攻城狮的专栏 1284

AXI-5.6 Multiple region interfaces

规则:如果从设备实现的区域少于16个,它必须确保对任何访问未支持区域的尝试都能给出符合协议的响应。具体实现方式由设计者定义。场景:一个错误的软件驱动试图向区域 5(该加密加速器未实现)写入数据。实现方式一:提供错误响应(严格模式)行为:加密加速器检测到AxREGION的值大于2,立即对该事务返回一个DECERR(解码错误)或SLVERR(从设备错误)响应。举例:这类似于你访问一个不存在的网站,服务器返回“404 Not Found”。它明确告知请求者:“你要找的东西不存在”。优点安全、清晰。

weixin_44700185的博客 672

cpio 学习记录

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

Farcub的专栏 317

STM32实战开发(110):基于STM32的智能地震监测系统开发

地震监测系统是自然灾害预警体系中至关重要的一部分。随着地震灾害的频发和对自然灾害预测精度要求的提高,智能地震监测系统逐渐成为研究的热点。STM32作为一款高性能的微控制器,凭借其强大的处理能力和丰富的外设接口,在地震监测领域中得到了广泛应用。本篇文章将详细介绍如何使用STM32实现一个智能地震监测系统的开发过程,涵盖硬件设计、软件编程、系统实现及相关代码。通过集成加速度传感器、地震数据采集、实时数据处理和无线数据传输功能,我们可以设计一个高效、稳定的智能地震监测系统。

2201_76125393的博客 710

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

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

Seth423的博客 359

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

尝试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的专栏 3082

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Go最全理清gcc、libc、glibc、libc+(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的博客 853

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

libc、glibc和glib的关系

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

yasi_xi的专栏 9万+

glibc, eglibc和 glib的区别

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

marken 6360

【STM32】 ADC 完全指南:从模拟信号采样量化到五大架构原理

本文系统介绍ADC核心概念与五大主流架构。模拟信号具时间与幅值连续性,需经采样(满足奈奎斯特准则防混叠)、量化(引入±1/2LSB误差,SNR≈6.02N+1.76dB)、编码三步转为数字信号。重点解析Flash(并行高速但受限于比较器数量)、SAR(逐次逼近,低功耗适合MCU如STM32)、双积分(高精度抗工频,用于万用表)、流水线(高速吞吐)及Σ-Δ(高分辨率,靠过采样与噪声整形)五类架构原理、优缺点与应用场景。强调分辨率≠精度,选型本质是速度、精度、功耗与面积的权衡。

专注后端与底层技术,分享实战干货与学习笔记,梦想进入字节跳动,步履不停,热爱不止。 509

基于STM32的智能浇花系统

本文设计基于STM32F103C8T6的智能浇花系统,集成DHT11、YL-69、MQ-135、GL5528四类传感器,实现温湿度、土壤湿度、CO₂浓度与光照的实时监测。系统支持自动、手动、远程三模式联动控制,通过ESP8266-01S以MQTT协议上云,配合手机APP实现数据可视化与远程指令下发。硬件采用多通道ADC采样、继电器驱动与OLED显示,软件实现精准时序控制与双向通信。测试表明系统稳定可靠,完整覆盖“感知—控制—云联”IoT全链路,具备高扩展性与工程实践价值。

weixin_45732499的博客 174

嵌入式:2.STM32底层基础(存储、寄存器、时钟、总线、GPIO、寄存器点灯)

存储系统用来存放程序、数据、设备状态,核心三大作用:存放程序代码、保存运行时数据(全局、局部、栈、堆)、数据持久化(比如W25Q64 Flash,可以搭配文件系统)。

2401_86731574的博客 371

20 嵌入式系统架构:架构模式、实时操作系统、鸿蒙案例

嵌入式架构模式怎么选、RTOS 和通用操作系统差在哪、优先级反转怎么破?本篇把前后台、中断驱动、管态目态几种结构排成一条演进线,手把手算 RMS 可调度界限、判断任务集能不能跑得动,再把优先级继承与优先级天花板两种解法对上号,配鸿蒙案例讲清工程落地。

weixin_46316564的博客 211

ARM64-GNU汇编器

o伪指令分配大小例子伪指令分配大小例子.byte1 字节.byte 0x412 字节.word / .long 4 字节8 字节.ascii字符串(不加 \0)字符串(自动加 \0).byte:把 8位数当成数据插入汇编代码中。.hword和 .short:把16 位数当成数据插入汇编代码中。.long和 .int:这两个伪指令的作用相同,都把 32位数当成数据插入汇编代码中。.word:把 32位数当成数据插入汇编代码中。

weixin_43903002的博客 210

认识元器件 · 单片机(MCU/MPU/SOC) · 实战篇14

本文系统阐述了STM32晶振电路设计要点,强调负载电容匹配与R_Ext必要性需基于计算验证,指出PCB寄生参数对振荡精度影响显著。重点提出振荡器PCB设计规范:缩短走线、加地保护环、分离地平面、避免串扰,并说明焊接工艺与环境防护对稳定性的重要性。同时解析内部时钟不可用于USB因温漂大,且PLL不放大ppm误差。最后推荐使用MEMS振荡器替代传统晶振,实现低功耗、小体积与高可靠性。

一只天天被叨叨的小可爱 296

重复网格自动实例化:6400个方块背后的提交成本

这项夹具关闭了G-buffer、AO、GI、阴影、AA、MSAA和大气,用来隔离不透明实例提交成本。本文依据2026年11月9日已合并的PR #792及其中的验证记录撰写,数字不是本次重新运行的测试。这次实现把符合条件的重复不透明网格与材质组合,自动送入现有Vulkan实例化间接绘制路径。EVEngine最近合并的自动实例化改动,针对的正是这段重复工作。它们看起来不像渲染大功能,但位于每对象、每帧的循环里,数量一多就值得测量。真正可复用的是保留场景、构建参数、预热时间和日志汇总工具,再对照同源代码开关。

西风世界 132

工业物联网实战:基于边缘计算的园区机电设备预测性维护架构设计

在大型园区(楼宇自动化BA系统)的运维中,电梯、水泵、消防管网等关键机电设备的可靠性直接关系到整体安全。传统的定期巡检与事后维修模式,难以捕捉设备的偶发性故障。 本文从底层系统架构出发,探讨如何利用边缘计算与AI算法,构建一套高可用、低延迟的设备预测性维护(PdM)系统。

sxyxhwl的博客 211
上一篇: 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、付费专栏及课程。

余额充值