一般情况缺省编译优化设置被设定为8级优化,实际最高可设定为9级优化。
1、Dead code elimination
2、Data overlaying
3、Peephole optimization
4、Register variables
5、Common subexpression elimination
6、Loop rotation
7、Extended Index Access Optimizing
8、Reuse Common Entry Code
9、Common Block Subroutines
如何设定不优化或改变某个文件的优化设置
1、针对某个文件
(1) 右键->Option for File XXXX
(2) 切换到【C51】选项卡
default表示与工程设置一致
2、针对某段迅帆代码(局部优化)
#pragma OPTIMIZE(x) x就是你希望的优化级别
举例如下:
#pragma OPTIMIZE(6)
void FunA()
{
}
......
......
#pragma OPTIMIZE(9)
void FunB()
{
}
上面的老昌念意思就是说,在void FunA()到void FunB()之前的所有函数,包括FunA在内,都采用6级的优化,而从侍困FunB开始直到之后,只要没碰上#pragma OPTIMIZE,都采用9级优化了。
OPTIMIZE还可以多一个参数,就是speed和size,
用法: #pragma OPTIMIZE(9,speed)或#pragma OPTIMIZE(5,size)
对应的就是9级优化,以速度为主,或5级优化,以空间最小为主。
Keil烧录程序慢的原因可能有很多,例如:1.烧录器的性能不够强;2.烧录程序的复杂度较高;3.烧录程序的代码量较大;4.烧录程序的编译速度较慢;5.烧录程序的编程模式不当;6.烧录程序的烧录时间较长;7.烧录程序的烧录环境不当;8.烧旦尺盯录程序的烧录次数较多;9.烧录程序的烧录条件不当;10.烧录程序的烧录参数不当等等。为了解决Keil烧录程序慢的问题,您可以尝试以下方法:1.更换更高性能的烧录器;2.精简烧录程序的代码量;3.优化烧录程序的编译速度;4.合理设置烧录程序的编程模式;5.缩困郑短烧录程序的烧录时间;6.优化烧录程序模和的烧录环境;7.减少烧录程序的烧录次数;8.合理设置烧录程序的烧录参数等等。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)