首页 > 编程语言 > 详细

stm32单片机的C语言优化

时间:2019-03-09 21:31:44      阅读:211      评论:0      收藏:0      [点我收藏+]

对于有些单片机,自身容量是很有限的,有的仅仅只有8k、16k的flash等,但是对32位mcu来说,这点空间实在有点小。不像计算机一样内存和rom都很多,因此有时候就需要进行代码优化。
大家都知道,单片机最开始对整数运算很在行,对浮点数的运算也是转换为整数来进行,计算机是离散的,除了带dsp内核的mcu,有dsp模块的M4内核的arm来说,浮点数计算轻而易举。
因此在单片机中,可以遵循以下几点:
1、尽量不要浮点数,实在不行,用float类型,在数据后面添加后缀f,比如0.0324f,这样可以避免编译器转换为double类型。
2、乘法和除法,尽量用乘法。
3、和2的倍数的乘除法,可以用移位操作,但有可能会降低精度。比如乘以2,可以<<1,除以4,可以>>2等等
4、在keil中可以进行代码优化,有网友称,O2<O1<O3<O0,iar中选择最高的优化方案。
5、进行空间优化、时间优化,或者两者折中等。

stm32单片机的C语言优化

原文:https://www.cnblogs.com/CodeWorkerLiMing/p/10502870.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!