Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
C库_LIBC
minilibc
libc是什么?可以吃吗
发布于 2024-04-27 16:07:02 浏览:591
订阅该版
[tocm] ## 引言 当你在编写C程序时,你可能会经常使用到一些神奇的函数,比如`printf`、`malloc`、`strcpy`等等。这些函数让你的代码变得更简洁、更易读、更强大。但你是否好奇过这些函数的背后是如何实现的呢?这就涉及到了C语言的神秘力量之一——`libc`库。 ## 什么是libc? libc是C语言的标准库,它提供了一系列常用的函数和类型,用于C程序的开发。像我们经常用的头文件`
` `
` `
`等都是由libc提供的。但是libc并不是一个具体的库,它只是一组规定了接口和行为的函数集合,开发者可以根据这个标准开发不同应用场景的libc库。 ## 常用的libc 1. **GNU C Library (glibc)**:在Linux系统上最常用的`libc`库之一,提供了丰富的系统调用和标准C库函数的实现。 2. **Microsoft Visual C Runtime Library (MSVCRT)**:用于Windows系统上的`libc`库,包含了Windows平台特定的系统调用和标准C库函数的实现。 3. **Newlib**:一个针对嵌入式系统的小型`libc`库,适用于各种嵌入式平台和编译器。 4. **uClibc**:另一个适用于嵌入式系统的小型`libc`库,旨在提供小巧、高效的标准C库实现。 5. **musl libc**:另一个适用于嵌入式系统的`libc`库,具有对标准C库函数的完整实现,并且注重性能和安全性。 这些`libc`库在不同的平台和场景下有着不同的特点和优势,开发者可以根据项目的需求和目标平台选择合适的库。 ## libc和posix的关系 `posix`是一个定义了操作系统接口的标准,旨在促进不同操作系统之间的软件移植和互操作性。当`libc`的开发者为了保证库的可移植性时,就会选择性的实现`posix`标准中所规定的接口和行为。 所以`libc`和`posix`之间可能是交集关系,也可能是子集关系(posix是libc的子集),它们的关系取决于libc库的开发人员对libc的定位。 ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20240427/4c179e8b52e10cb32d5d5d535ac048f6.png) ## 结尾 作为C语言编程中不可或缺的一部分,`libc`库为我们提供了丰富的函数和工具,帮助我们更高效地开发各种类型的程序。无论是在Linux、Windows还是嵌入式系统中,`libc`库都扮演着重要的角色,为我们的编程工作提供了基础支持。希望通过这篇文章让我们更加深入地了解和认识`libc`库。
2
条评论
默认排序
按发布时间排序
登录
注册新账号
关于作者
比特饼干
这家伙很懒,什么也没写!
文章
10
回答
1
被采纳
0
关注TA
发私信
相关文章
1
ulog, cmbacktrace组件编译警告
2
文档中心对libc、newlib、minilibc的介绍有些乱
3
RT-THREAD怎么使用标准C库函数
4
USB 提示undefined reference to `_sbrk'
5
关于rt-smart的musl-libc
6
kservice.c中为什么重新实现了C库的一部分函数?
7
rtthread 能否使用编译器自带的c库
8
stm32M4 rtthread 如何把浮点数转换为字符串类型
9
关于Sqlite的移植。。。。。
10
NANO 如何开启libc 库
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
I2C_IIC
WIZnet_W5500
UART
ota在线升级
PWM
cubemx
freemodbus
flash
packages_软件包
BSP
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
中断
Debug
编译报错
msh
SFUD
keil_MDK
rt_mq_消息队列_msg_queue
ulog
C++_cpp
at_device
本月问答贡献
踩姑娘的小蘑菇
7
个答案
3
次被采纳
a1012112796
13
个答案
2
次被采纳
张世争
9
个答案
2
次被采纳
rv666
5
个答案
2
次被采纳
用户名由3_15位
11
个答案
1
次被采纳
本月文章贡献
程序员阿伟
9
篇文章
2
次点赞
hhart
3
篇文章
4
次点赞
大龄码农
1
篇文章
5
次点赞
RTT_逍遥
1
篇文章
2
次点赞
ThinkCode
1
篇文章
1
次点赞
回到
顶部
发布
问题
投诉
建议
回到
底部