如何优化 kei5 可以使代码运行最快效率最高?

2019-07-14 17:04发布

最近做个项目使用到优化的时候,一直有一些疑问:
1,使用的是STM32F1,刚开始的时候使用O1级别优化,调试完成之后,改成了O2,做斜率的时候,明显感觉到了程序速度提升近2倍。而且其它的感觉也比以前块,以eeprom为例,本来O1的时候完全没问题,改成O2 后,就只能读不能写,找了半天才发现时序变了。
2,C++ Code Generation 里面那么多选项,那些选项除了常用几个,其他具体都是做什么用的,感觉搞得不
   是很明白,希望高手解答??
3,怎么样选择能使程序跑的最快,怎么样选择能使代码量最小了,感觉搞得也不是特别明白
说明:我程序在选择O1优化时候为81k左右,选择O2时降低到了73K左右,选择O3时候跟O1差不多,但是速度方面,O2和O3差的不多,跟O1都有明显提升



友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
15条回答
我在线中
1楼-- · 2019-07-14 23:09
感觉O2程序量最小, 不知道选择哪个最快,试了下除了O0感觉都差不多,代码量O2明显最小
鑫12345
2楼-- · 2019-07-15 04:10
怎么感觉实际的跟这个说明有点不一样了,O2级别优化,明显代码量最小,论代码量O2<O1<O3<O0,我亲测。至于下面的几个优化,keil里面没看到啊
joereil
3楼-- · 2019-07-15 06:35
换IAR,选最高优化级别,代码应该比keil mdk小。
lingjianghui
4楼-- · 2019-07-15 12:00
keil用习惯了,我现在的flash和RAM足够大,就是想尽可能提升速度,在优化那里搞得不是很明白,所以来论坛和大家讨论下
jhhfhgj
5楼-- · 2019-07-15 14:24
 精彩回答 2  元偷偷看……
lifei639156
6楼-- · 2019-07-15 20:18
别用编译器优化会出问题的

一周热门 更多>