setjmp和longimp函数:

非局部跳转-1(重点)

 

goto函数只能在函数内部进行跳转,不能跨函数使用

易失变量:volatile:(嵌入式程序员必须掌握的)volatile最初的意思是表示汽油容易挥发,在c中的作用大概有两点(1)表示变量是易失的,易变的. (2)强制访存操作,防止编译器去优化,告诉编译器每次必须去内存中取值,而不是从寄存器或者缓存.

 

  • 非局部跳转的问题:

  •  全局变量、静态变量和volatile(易失变量)

不能恢复到原始值

  • 寄存器变量

可以恢复到原始值

  • 自动变量的潜在问题

优化编译后可能会恢复到原始值

非局部跳转-1(重点)

 

 

 

 

 

 

 

 

 

 

 

 

相关文章: