谷动谷力

 找回密码
 立即注册
查看: 388|回复: 0
打印 上一主题 下一主题
收起左侧

代码优化 USE MICROLIB

[复制链接]
跳转到指定楼层
楼主
发表于 2024-4-2 21:33:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
代码优化 USE MICROLIB


1.Microlib与标准库的差异
不勾选情况下,keil使用的是 ISO C 库标准。勾选情况下,使用keil的精简microlib。
Microlib 与ISO C library 区别如下:
l Microlib不符合ISO C library,部分ISO C library特性未实现。
l Microlib不符合IEEE 754 的二进制浮点运算标准。
l Microlib会对代码进行高度优化,以获得更小的代码量
l 选用microlib,main()函数不允许带有形参,同时main函数不准又返回值。
l Microlib 提供有限的C99函数。
l Microlib不支持C++环境
l Microlib不支持操作系统功能
l Microlib不支持位置独立的代码段。
l Microlib 不提供互斥锁来保护线程不安全的代码
l Microlib 不支持宽字符或多字节字符串
l Microlib不支持位对齐内存函数,如_membitcpy() 和 membitmove().
l 其它区别,可以参见keil帮助中的2.2 Differences between microlib and the default C library


2. 实测Microlib对程序的影响
在一些情况下,我们会勾选USE Microlib,使代码量减小。
在实际操作中,勾选use microlib 会缩减代码量,同时ram的空间占用也会小。但是在缩减代码的时候,会影响某些函数的运行时序,和逻辑顺序,会出现异常。
案例:滑板车控制器,为了节省ram的空间,本人勾选了microlib,ram的空间占用确是缩减下来,但是在后面的测试过程中,在负电流刹车的时候,出现明显的震动,其它功能都运行正常,取消勾选use microlib后,负电流刹车也恢复正常。



+10
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|深圳市光明谷科技有限公司|光明谷商城|Sunshine Silicon Corpporation ( 粤ICP备14060730号|Sitemap

GMT+8, 2024-11-18 06:31 , Processed in 0.181387 second(s), 38 queries .

Powered by Discuz! X3.2 Licensed

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表