setjmp和
longjmp垃圾寄存器。如果变量存储在寄存器中,则其值将在后面丢失
longjmp。
相反,如果将其声明为
volatile,则每次将其写入时,都会将其存储回内存中,并且每次从其读取时,都会将其每次从内存中读取回去。这会损害性能,因为编译器必须执行更多的内存访问,而不是使用寄存器,但是面对变量,这会使变量的使用安全
longjmp。

setjmp和
longjmp垃圾寄存器。如果变量存储在寄存器中,则其值将在后面丢失
longjmp。
相反,如果将其声明为
volatile,则每次将其写入时,都会将其存储回内存中,并且每次从其读取时,都会将其每次从内存中读取回去。这会损害性能,因为编译器必须执行更多的内存访问,而不是使用寄存器,但是面对变量,这会使变量的使用安全
longjmp。