tar*_*yte 4 c variables persistent
持久性变量是否未被广泛使用?我无法在网上或在我的C教科书索引中找到关于它们的更多信息 - C的艺术和科学.
您可以分享关于它们的任何内容,尤其是它们的范围和示例声明都会有所帮助.我猜是要声明他们使用'persistent'作为关键字?
static void foo( void ) {
persistent unsigned int width = 5;
}
Run Code Online (Sandbox Code Playgroud)
这是我能找到的唯一其他有用的参考:"当电路板关闭和打开时,主电源运行时以及系统复位发生时,持久变量保持其状态.由于加载或卸载文件而下载代码时,持久变量将失去其状态." http://www.newtonlabs.com/ic/ic_5.html#SEC9
谢谢!
交互式C(你提供的链接)提供的persistent关键字,但这不是标准的C.特别是因为保证" 在电路板关闭和打开时,在主电源运行时以及发生系统复位时保持状态 ".
persistent 与交互式C编译器一起提供并与专用硬件一起工作,在这种情况下,摩托罗拉芯片将变量值存储在非易失性存储器中,以实现重启的持久性.
Interactive C是许多基于Motorola 6811的机器人和嵌入式系统的C编译环境.Interactive C最初是为麻省理工学院乐高机器人设计大赛(6.270)开发的,其广泛分发和使用.Interactive C声名鹊起的是它的交互性:用户可以输入表达式并让它们即时编译并立即运行,而不是等待冗长的编译和下载周期.IC目前支持6.270,HandyBoard和RugWarrior以及RugWarrior Pro. 来源.
要在本地范围(例如函数)中实现变量持久性,请使用static关键字.