当前位置:首页 > 技术心得 > 正文内容

Keil优化及如何设置某段代码不优化

xjtudll10年前 (2017-02-02)技术心得61640

Keil默认会对代码进行优化的,如图所示:

clip_image001

一般情况缺省编译优化设置被设定为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

clip_image002

(2) 切换到【C51】选项卡

default表示与工程设置一致

clip_image003

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级优化,以空间最小为主。

参考资料:

http://www.cnblogs.com/xidongs/p/5772290.html

扫描二维码推送至手机访问。

版权声明:本文由鸟的天空发布,如需转载请注明出处。

本文链接:http://xjtudll.cn/Exp/438/

标签: keil
分享给朋友:

“Keil优化及如何设置某段代码不优化” 的相关文章

PHP安装之后没有php.ini文件

问题: 多数教程都说修改php.ini,但是在安装目录里找了半天,根本没有php.ini,只有: php.ini-development php.ini-production 答案: 其实php.ini就是上述两个文件任选一修改而来。 当然,测试的话更合适的是php.ini-develo...

ios5越狱及其注意事项

ios最新已经是ios5.0.1了,其实升级系统也没啥大好处,新系统一般要过一段时间才能越狱。当然,ios5.0.1越狱已经很成熟了。 ios5个人感觉有两个比较大的更新 1、iCloud功能,但是个人认为有泄露个人隐私的可能 2、通知栏有比较大的改变,现在搞的有点像And...

WinClone更新了

WinClone,Mac下备份Windows系统的好软件。可以克隆BootCamp分区安装的Windows,也可以将克隆文件安装到BootCamp分区。 之前已经写过一篇WinClone备份还原Windows的简易教程:http://xjtudll.cn/Exp/171/ 基本上来说,使用还是较简单...

如何统计SQL语句查询出来的条数

可以通过count函数来实现。 sqlOne:select * from tablename1 where id>5;此语句查询出来多条记录,之后看做一个新的表。 sqlTwo:select conut(*) from (select * from tablename1 where id>...

水晶报表 如何通过代码隐藏控件

水晶报表 如何通过代码隐藏控件

右击要设置的对象控件,点击“设置对象格式”,调出格式编辑器。点击“抑制显示”后面的编辑图标(见图红框处)。 在代码输入处输入以下代码: if  条件语句    then   true else &n...

TM89系列单片机使用注意事项

TM89系列单片机使用注意事项

一、大电流模式大电流模式,官方资料上叫“电力备援模式”(详见UM-TM89XXMCUfunction),Back Up Mode。当系统耗电较大时,有可能使得系统的电源电压产生很大的波动,有可能导致MCU不正常动作,为了解决这个问题,在耗电较大时,需要开启大电流模式。 3V供电时,当选用BCF=0时...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。