呵呵1991 发表于 2019-7-25 20:29:02

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


呵呵1991 发表于 2019-7-25 20:30:28

有没有大佬知道,KEIL怎么禁止某个函数/某段代码 被编译器优化?????

奏奏奏 发表于 2019-7-25 23:17:46

写的代码莫名其妙开启优化后编译出错才麻烦

子曰好人 发表于 2019-7-26 10:49:09

呵呵1991 发表于 2019-7-25 20:30
有没有大佬知道,KEIL怎么禁止某个函数/某段代码 被编译器优化?????

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

maxtch 发表于 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)功能,允许优化算法跨函数。

发表于 2019-7-26 17:05:02

优化这个问题要根据实际情况决定。比如我们在代码开发过程中,芯片空间小,代码量大的时候,就需要开启优化了。

hwadong 发表于 2019-12-12 00:18:27

问题是,你写代码的时候关优不优化鸟事啊?

wdliming-222461 发表于 2020-1-28 17:09:21

问题标题起的让人,觉得,你语文水平不怎样。

edmundlee 发表于 2020-11-14 18:32:39

如果说你懂汇编的话就开优化吧, 否则一旦编译器太过聪明你是查不出错的
页: [1]
查看完整版本: KEIL写代码时,你是开启编译器的优化写,还是关闭优化写?