Protothreads:临时变量的可用与不可用 临时变量不能作为 PT_* 宏内调用的函数的入参数。临时变量不能跨越 PT_* 系列宏。临时变量可以存储 PT_* 宏中函数的返回值,但是不能传递给下一个 PT_* 宏。函数参数可以使用,因为每次进入函数都会传入正确的值,但是修改过的传值参数的值不能跨 PT_* 宏。GCC 不同的优化级别对未初始化变量引用的警告不一样!有些优化会警告,有些优化不会警告。基本原则是:再次进入协程时,应当能恢复上次退出协程时的状态。如果后一次进入协程时还要引用上一次退出协程时赋值过的变量,那么该变量就不能是临时变量。