在
.h
文件中我有一个持久变量
extern <Enum Datatype> __attribute__((section(".persist"))) state
在
.c
文件中,我必须将变量 state
初始化为枚举成员之一
例子:
enum state = <One of the member of enum>
如果我尝试上述方法,编译器会抛出警告持久变量无法初始化。
注意:持久变量用于测试系统的 PRE 和 POST 使用情况,因此最初在应用程序代码中我希望测试从 PRE 开始。
将变量标记为“持久”的唯一目的是防止启动代码初始化该变量。因此,编译器不允许初始化这样的变量是有道理的。
如果变量确实需要持久化(即必须在应用程序的不同运行中保留该值),则必须通过在代码中赋值来为其赋予值。