发新帖我要提问
12
返回列表
打印

嵌入式C语言需要注意的关键字

[复制链接]
楼主: chenjunt
手机看帖
扫描二维码
随时随地手机跟帖
21
nongfuxu| | 2012-8-26 22:29 | 只看该作者 回帖奖励 |倒序浏览
将变量加上volatile 修饰则编译器保证对此变量的读写操作都不会被优化
1 中断服务程序中修改的供其它程序检测的变量需要加volatile
2 多任务环境下各任务间共享的标志应该加volatile

“volatile”告诉编辑器,此变量是容易变化的,每次使用时都须重新读取值!

使用特权

评论回复
22
someonewho| | 2012-8-26 22:40 | 只看该作者
我都给粘下来自己留着了

使用特权

评论回复
23
justbybing| | 2012-8-26 22:51 | 只看该作者
总结的挺全面

使用特权

评论回复
24
specialfrin| | 2012-8-27 00:28 | 只看该作者
顶一个,实用

使用特权

评论回复
25
haidixibahe| | 2012-8-27 00:38 | 只看该作者
挺好的,多谢总结

使用特权

评论回复
26
engtafanzhuan| | 2012-8-27 00:44 | 只看该作者
好完整,支持一下

使用特权

评论回复
27
firstblood| | 2012-8-27 08:59 | 只看该作者
extern
的用法,楼上还有比较详细的实例解说没有啊?我急需的,谢谢!

使用特权

评论回复
28
yingqingo| | 2012-8-27 09:45 | 只看该作者
高手指点,学习中

使用特权

评论回复
29
O狂且O| | 2012-8-27 11:55 | 只看该作者
static  volatile const  extern

使用特权

评论回复
30
kiya_21| | 2012-8-27 13:45 | 只看该作者
volatile是针对编译器优化所作的妥协。

为了提高执行效率,编译器会尽可能把变量放到寄存器里,而不是存放在内存里。如果某全局变量有幸被放到寄存器里,则会带来如10楼所述之问题。为了避免此类问题,使用volatile关闭此优化。

使用特权

评论回复
31
sqcumt123| | 2012-8-27 16:53 | 只看该作者
我以为是LZ要总结的那

使用特权

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

本版积分规则