实践发现关键词volatile会使程序占用空间略变大,使用该关键词,pc指针每次跳转到其他子函数,访问变量是都会从原地址进行访问,而不是因为编译器的优化而从通用寄存器(A,R1,R2等)读取变量的值(跳转前cpu把该变量赋值给通用寄存器,系统认为通用寄存器里面的值就是该变量的值,如果跳转中途发生中断并修改了该变量的值,那么跳转后子函数处理的变量并不是最实时的值)。
volatile个人理解
最新推荐文章于 2022-04-21 21:03:13 发布
实践发现关键词volatile会使程序占用空间略变大,使用该关键词,pc指针每次跳转到其他子函数,访问变量是都会从原地址进行访问,而不是因为编译器的优化而从通用寄存器(A,R1,R2等)读取变量的值(跳转前cpu把该变量赋值给通用寄存器,系统认为通用寄存器里面的值就是该变量的值,如果跳转中途发生中断并修改了该变量的值,那么跳转后子函数处理的变量并不是最实时的值)。