任务切换时,局部变量到底会不会保存到任务栈

任务切换时,局部变量到底会不会保存到任务栈?

局部变量本来就在栈里,在切换任务之前本来就在栈里,无需"再次保存"进栈里。需要保存的是切换瞬间CPU寄存器的值。比如读局部变量a进行累加操作,先把变量a读入了CPU寄存器r0,r0累加后还没来得及写入栈中的a:这时发生了切换,那是不是要把r0的值保存起来?在推广开来:要保存所有的寄存器。