Keil微库和标准C库的区别

初学者使用 keil 学习单片机,用串口printf打印输出时,通常都会使能keil工具自带的微库(microlib):
最近看到有读者在讨论keil的microlib微库和标准c库的话题,今天就来给大家简单分享一下相关内容。
什么是microlib?
microlib是针对以c语言编写的基于arm嵌入式应用程序的 高度优化的库 。
与arm compiler工具链附带的标准c库相比,microlib具有明显的代码大小优势。
上图是一个性能基准测试代码,通过上图可以发现,微库在不同内核下代码量明显少很多。
补充:
c语言标准库,我们经常都会调用,比如:、 、 、 、 、 等库文件。
在这些文件下还有很多各类库函数,比如:printf()、 malloc()、 memcpy()、 strncpy()等。
微库与标准c库区别
因为针对arm的嵌入式系统,通常存储(代码)资源相对较小,为了使其能用上标准函数,工程师就针对arm嵌入式系统,对标准c库进行了优化,以减小代码量。
优化标准库,肯定会带来一些差异,下面分享几点主要的差异:
1.代码(数据)量更小 (对比上图)。
2.缺少一些不常用标准库函数,比如:文件 i/o 的库函数。
3.微库最大程度优化代码量,可能会导致有些库代码运行速度更慢。
4.可用于rtos这类系统中,但不支持在像windosw这类系统中。
总结
微库函数也是一种函数,其很多库函数原型在网上都能找到,如果你有特殊需求,可以不用微库,在库函数原型的基础上进行修改。
比如:你的项目经过验证,发现微库的代码量,或者运行速度都不理想的情况下,可以自己修改原型函数。
当然,在万不得已的情况下才建议修改原型函数。通常还是建议直接使用微库,毕竟经过别人多次验证的库,出现bug的概率更小。


恒流恒压充电器IC TB5812的概述
飞利浦将持续投资 抢攻中国LED照明市场
英特尔发布神经计算棒二代 让笔记本秒变AI边缘设备
音圈电机模组的安装方式是什么
手机wifi芯片坏了能连接网络吗 手机wifi芯片坏了会出现什么情况
Keil微库和标准C库的区别
超级电容的应用范围有哪些(二)
泰克全新产品发布 开启工程师时代“新生态”
赑屃: 思想有多远你就能走多远,如何养成正确的交易思想!!!
岛国瑙鲁宣布将赞助一项电池材料的深海采矿活动
低延迟无线蓝牙耳机的推荐,让游戏体验更上一层楼
联电子公司和舰科技计划申请A股上市,或对中国大陆本土半导体厂商带来更强竞争挑战
昆山芯片半导体行业的发展策略分析
关于电动车中的大秘密 你不一定知道
苹果正与中国最大的面板企业京东方如火如荼进行OLED供应协商
运动耳机买什么样的好,性价比高的运动耳机推荐
区块链Bitzon平台旨在帮助买家和卖家获取最大的价值
【前沿技术】可能彻底改变电子行业的突破性自旋电子学制造工艺
华为nova 8 SE全新HarmonyOS版正式发布
如何构建一个数字控制器