1volatile:易变的,一般寄存器的访问速度比RAM快,所以在指定了优化之后,一般编译器会从寄存器读取数据以加快速度.
而对于:由硬件寄存器设备决定的状态信息等
中断服务程序中修改的且最终要被其它程序查询使用的变量标志等如:按键值,软定时次数等
多线程共享变量
都要用volatile修饰,让编译器每次都从变量的定义地址处RAM读取数据防止出错.
2 extern:公用函数可以用也可以不用,因为函数本身就默认是共有属性,变量用来防止重定义
原文地址:http://www.cnblogs.com/jieruishu/p/3945922.html