微库和ARM标准C库有什么区别?
1.是什么?MicroLib是针对以C语言编写的基于ARM嵌入式应用程序的高度优化的库。与ARM Compiler工具链附带的标准C库相比,MicroLib具有明显的代码大小优势。2.区别1.代码(数据)量更小(对比上图)。2.缺少一些不常用标准库函数,比如:文件 I/O 的库函数。3.微库最大程度优化代码量,可能会导致有些库代码运行速度更慢。4.可用于RTOS这类系统中,但不支持在像Windosw这类系统中。
MicroLib 通过对标准库进行优化,移除了不常用的功能例如文件 I/O 操作,从而大大减少了库的大小。 ARM标准C库:适用于需要完整C标准库功能的应用程序,包括桌面和服务器应用程序 微库经过高度优化,代码量显著减少
ARM标准C库包含完整的ISO C库特性,因此代码量较大。适用于需要完整C标准库功能的应用程序,但不适合资源非常有限的嵌入式环境
微库由于进行了空间优化,某些库函数的运行速度可能会变慢
微库不支持文件I/O操作、错误和EOF指示符、信号处理等操作系统相关功能
不支持文件I/O操作、错误和EOF指示符、信号处理等操作系统相关功能
这个解释挺清楚的,我之前只知道MicroLib能减小代码体积,没想到还有运行速度的影响。 看来MicroLib更适合资源受限的环境,那在选用的时候确实要取舍一下。 文件 I/O 库函数不支持这个有点麻烦,如果项目里有这类需求是不是就只能用标准C库了? 请问有没有具体数据对比,比如说MicroLib能比标准库小多少? 我最近也在研究嵌入式优化,这个MicroLib感觉挺值得试试的! 不知道MicroLib和newlib相比会不会更有优势? 请问移植RTOS的时候,选择MicroLib是不是能明显减少内存占用? 运行速度比标准库慢的问题严重吗?有没有推荐的优化策略? 以前没注意到MicroLib不支持Windows环境,看来得特别小心选择环境了。 感觉这种细节对初学者很重要,谢谢你的分享!
页:
[1]