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

[复制链接]
4989|30
nongfuxu 发表于 2012-8-26 22:29 | 显示全部楼层
将变量加上volatile 修饰则编译器保证对此变量的读写操作都不会被优化
1 中断服务程序中修改的供其它程序检测的变量需要加volatile
2 多任务环境下各任务间共享的标志应该加volatile

“volatile”告诉编辑器,此变量是容易变化的,每次使用时都须重新读取值!
someonewho 发表于 2012-8-26 22:40 | 显示全部楼层
我都给粘下来自己留着了
justbybing 发表于 2012-8-26 22:51 | 显示全部楼层
总结的挺全面
specialfrin 发表于 2012-8-27 00:28 | 显示全部楼层
顶一个,实用
haidixibahe 发表于 2012-8-27 00:38 | 显示全部楼层
挺好的,多谢总结
engtafanzhuan 发表于 2012-8-27 00:44 | 显示全部楼层
好完整,支持一下
firstblood 发表于 2012-8-27 08:59 | 显示全部楼层
extern
的用法,楼上还有比较详细的实例解说没有啊?我急需的,谢谢!
yingqingo 发表于 2012-8-27 09:45 | 显示全部楼层
高手指点,学习中
O狂且O 发表于 2012-8-27 11:55 | 显示全部楼层
static  volatile const  extern
kiya_21 发表于 2012-8-27 13:45 | 显示全部楼层
volatile是针对编译器优化所作的妥协。

为了提高执行效率,编译器会尽可能把变量放到寄存器里,而不是存放在内存里。如果某全局变量有幸被放到寄存器里,则会带来如10楼所述之问题。为了避免此类问题,使用volatile关闭此优化。
sqcumt123 发表于 2012-8-27 16:53 | 显示全部楼层
我以为是LZ要总结的那
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部