打印
[技术问答]

关于Keil MDK编译器及Volatile关键字的问题

[复制链接]
2143|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ssmm1228|  楼主 | 2018-5-7 18:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1 请问所有的变量都加Volatile修饰是否可以?
2 Keil MDK编译器优化问题。总共有5种优化(不优化,-O0,-O1,-O2,-O3),都有什么特点?
请教各位大神。
沙发
xxzouzhichao| | 2018-5-7 19:48 | 只看该作者
1,可以,不过有必要吗?

使用特权

评论回复
板凳
ssmm1228|  楼主 | 2018-5-8 10:34 | 只看该作者
xxzouzhichao 发表于 2018-5-7 19:48
1,可以,不过有必要吗?

有的地方有必要,比如中断用到的全局变量,这个有必要加。所以担心有的变量忘记加这个修饰词了,索性所有的变量都加?这样做不知是否会带来其他问题。

使用特权

评论回复
地板
xxzouzhichao| | 2018-5-8 21:49 | 只看该作者
ssmm1228 发表于 2018-5-8 10:34
有的地方有必要,比如中断用到的全局变量,这个有必要加。所以担心有的变量忘记加这个修饰词了,索性所有 ...

所有变量都加,运算速度会减慢哦

使用特权

评论回复
5
dongnanxibei| | 2018-5-9 10:53 | 只看该作者
一般没出过问题,都是自动配置。

使用特权

评论回复
6
xuanhuanzi| | 2018-5-9 12:48 | 只看该作者
看是否需要了,这个变量是不是需要这种操作。

使用特权

评论回复
7
ssmm1228|  楼主 | 2018-5-9 14:55 | 只看该作者
xxzouzhichao 发表于 2018-5-8 21:49
所有变量都加,运算速度会减慢哦

嗯嗯,是有这么个问题。

使用特权

评论回复
8
ssmm1228|  楼主 | 2018-5-9 14:57 | 只看该作者
dongnanxibei 发表于 2018-5-9 10:53
一般没出过问题,都是自动配置。

以前写程序从来没有加过这个修饰词,没出过问题。上次写一个比较复杂的程序出现过莫名其妙的问题,怀疑是跟这个因素有关。

使用特权

评论回复
9
ssmm1228|  楼主 | 2018-5-9 14:57 | 只看该作者
xuanhuanzi 发表于 2018-5-9 12:48
看是否需要了,这个变量是不是需要这种操作。

就怕某些变量忘记加了

使用特权

评论回复
10
xuanhuanzi| | 2018-5-9 15:48 | 只看该作者
ssmm1228 发表于 2018-5-9 14:57
就怕某些变量忘记加了

如果是操作不频繁的,又重要的,可以用这个,防止被忽略。

使用特权

评论回复
11
caijie001| | 2018-5-10 18:09 | 只看该作者
很多书都有介绍,具体肯定忘了,网上顺便查就知道了,我说一本书:嵌入式Linux应用开放完全手册 ——韦东山   

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

22

主题

99

帖子

3

粉丝