extern:解决多文件,同一变量名的声明
volatile:精确地说就是,编译器在用到这个变量时必须每次都小心地重新读取这个变量的值,而不是使用保存在寄存器里的备份。
例子:每一次取值都是从内存里读取,而不是因为编译器优化后,直接用寄存器的值进行计算。常见于硬件多线程对寄存器的值修改。
extern:解决多文件,同一变量名的声明
volatile:精确地说就是,编译器在用到这个变量时必须每次都小心地重新读取这个变量的值,而不是使用保存在寄存器里的备份。
例子:每一次取值都是从内存里读取,而不是因为编译器优化后,直接用寄存器的值进行计算。常见于硬件多线程对寄存器的值修改。