搜索
查看: 6316|回复: 8

[讨论] KEIL写代码时,你是开启编译器的优化写,还是关闭优化写?

[复制链接]

该用户从未签到

5

主题

21

帖子

0

蝴蝶豆

中级会员

最后登录
2020-11-21
发表于 2019-7-25 20:29:02 | 显示全部楼层 |阅读模式

单选投票, 共有 39 人参与投票
41.03% (16)
58.97% (23)
您所在的用户组没有投票权限
回复

使用道具 举报

该用户从未签到

5

主题

21

帖子

0

蝴蝶豆

中级会员

最后登录
2020-11-21
 楼主| 发表于 2019-7-25 20:30:28 | 显示全部楼层
有没有大佬知道,KEIL怎么禁止某个函数/某段代码 被编译器优化?????
回复

使用道具 举报

该用户从未签到

54

主题

499

帖子

152

蝴蝶豆

论坛元老

最后登录
2021-3-29
发表于 2019-7-25 23:17:46 | 显示全部楼层
写的代码莫名其妙开启优化后编译出错才麻烦
回复

使用道具 举报

该用户从未签到

20

主题

1628

帖子

5

蝴蝶豆

论坛元老

最后登录
2022-6-7
发表于 2019-7-26 10:49:09 | 显示全部楼层
呵呵1991 发表于 2019-7-25 20:30
有没有大佬知道,KEIL怎么禁止某个函数/某段代码 被编译器优化?????

参考这个链接
keil mdk中如何确保某一段程序不被优化掉

回复

使用道具 举报

该用户从未签到

21

主题

1073

帖子

442

蝴蝶豆

论坛元老

最后登录
2021-5-10
发表于 2019-7-26 17:04:13 | 显示全部楼层
我用的是 GCC,不过原理是一样的。开发过程中会开优化,不过用 -Og 或 -O1 这种不怎么激进的优化模式。这种优化模式下只有一些很明显的简单优化,不至于影响程序调试。正是产品则会用 -Os 或 -O3 这样的激进优化,而且会开 LTO。
GCC 的优化等级有这些:
* -O0 完全不优化。
* -Og 不影响调试的简单优化。
* -O1 简单优化。
* -O2 中度优化。
* -Os 在 -O2 的基础上针对代码体积做激进优化。
* -O3 在 -O2 的基础上针对代码速度做激进优化。
* -Ofast 在 -O3 的基础上针对速度做更激进的优化,代码体积可能会比 -O2 还要大。

* -flto 打开链接时优化(LTO)功能,允许优化算法跨函数。
回复

使用道具 举报

该用户从未签到

133

主题

4688

帖子

239

蝴蝶豆

版主

最后登录
2021-4-10
发表于 2019-7-26 17:05:02 | 显示全部楼层
优化这个问题要根据实际情况决定。比如我们在代码开发过程中,芯片空间小,代码量大的时候,就需要开启优化了。
回复

使用道具 举报

该用户从未签到

3

主题

20

帖子

2

蝴蝶豆

高级会员

最后登录
2022-6-10
发表于 2019-12-12 00:18:27 | 显示全部楼层
问题是,你写代码的时候关优不优化鸟事啊?
回复

使用道具 举报

该用户从未签到

8

主题

185

帖子

0

蝴蝶豆

金牌会员

最后登录
2024-4-9
发表于 2020-1-28 17:09:21 | 显示全部楼层
问题标题起的让人,觉得,你语文水平不怎样。
回复

使用道具 举报

该用户从未签到

5

主题

246

帖子

172

蝴蝶豆

金牌会员

最后登录
2021-3-26
发表于 2020-11-14 18:32:39 | 显示全部楼层
如果说你懂汇编的话就开优化吧, 否则一旦编译器太过聪明你是查不出错的
回复

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|论坛-意法半导体STM32/STM8技术社区

GMT+8, 2024-5-11 05:45 , Processed in 0.187742 second(s), 41 queries .

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

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