[微控制器/MCU] volatile 与 static类型变量有何区别呢?

[复制链接]
4338|7
 楼主| yulri 发表于 2010-10-18 16:55 | 显示全部楼层 |阅读模式
volatile 与 static类型变量有何区别呢?
谢谢
IJK 发表于 2010-10-19 11:27 | 显示全部楼层
搜索网上的资料
米其林r 发表于 2010-10-23 20:56 | 显示全部楼层
volatile告诉编译器你他妈的不许给我优化我的变量

static 规定局部变量,只在函数体内有效作用域,   

规定函数只在本文件内有效
bit6019 发表于 2010-10-26 22:37 | 显示全部楼层
这个区别太大了
 楼主| yulri 发表于 2010-10-27 10:00 | 显示全部楼层
volatile告诉编译器你他妈的不许给我优化我的变量

static 规定局部变量,只在函数体内有效作用域,   

规定函数只在本文件内有效
米其林r 发表于 2010-10-23 20:56

;P ,兄弟太幽默了!
csq463276932 发表于 2011-4-24 20:52 | 显示全部楼层
在C语言中,关键字static有三个明显的作用:  
  1 在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。  
  2 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。  
  3 在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这个函数被限制在声明它的模块的本地范围内使用。

以上来自网摘。
来与君 发表于 2011-4-24 21:30 | 显示全部楼层
volatile的字面意思是“易变的”,这是在告诉编译器,这个变量的值随时在变,编译器必须每次碰到它修饰的变量时都读取最新的值。

例如某变量在主程序和中断服务中都用到时,应该用volatile修饰它。
金鱼木鱼 发表于 2011-4-24 22:49 | 显示全部楼层
用的汇编,学习了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

161

帖子

1

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