打印
[技术问答]

MicroLib

[复制链接]
43|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
mmbs|  楼主 | 2024-9-19 12:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
microlib是C库中的一种,它是默认C库的替代库文件(缺省c库的备选库),它提供了一个有限的stdio子系统,仅支持未缓冲的stdin、stdout和stderr。

特点:

① 主要用于那些基于极少内存映射的嵌入式应用程序,与嵌入式应用程序配合使用,且这些应用程序不在操作系统中运行;

② 高度优化以使代码变得很小,功能比缺省c库少,不具备某些ISO C特性,部分库函数的运行速度也比较慢,如内存拷贝函数memcpy()。与缺省c库之间的主要差异:

(1)MicroLib 不符合 ISO C 库标准。 不支持某些 ISO 特性,并且其他特性具有的功能也较少。
(2)MicroLib 不符合 IEEE 754 二进制浮点算法标准。
(3)MicroLib 进行了高度优化以使代码变得很小。
(4)无法对区域设置进行配置。 缺省 C 区域设置是唯一可用的区域设置。
(5)不能将 main() 声明为使用参数,并且不能返回内容。
(6)不支持 stdio,但未缓冲的 stdin、stdout 和 stderr 除外。
(7)MicroLib对 C99 函数提供有限的支持。
(8)MicroLib不支持操作系统函数。
(9)MicroLib不支持与位置无关的代码。
(10)MicroLib不提供互斥锁来防止非线程安全的代码。
(11)MicroLib不支持宽字符或多字节字符串。
(12)与stdlib不同,MicroLib不支持可选择的单或双区内存模型。MicroLib只提供双区内存模型,即单独的堆栈和堆区。

③ 使用MicroLib的话,嵌入式设备便不会使用半主机模式;

④ Microlib对于IO功能仅定义了_stdout和_stdin,用户重定向fputc() / fgetc() 的时候无需再重新定义_stdout/_stdin。


使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

187

主题

6525

帖子

3

粉丝