我正在寻找一个使用volatile变量的实际C函数,与IT技术相关。这并不难找到,但我正在寻找一个函数,在执行函数期间,volatile变量的值必须发生变化,才能到达函数的特定分支。类似于这样:
typedef struct {
unsigned :6;
unsigned FLAG1 :1;
unsigned FLAG2 :1;
} __attribute__ ((packed)) REGISTER;
volatile REGISTER * io_ = 0x1234;
int write_to_io()
{
while (io_->FLAG1) {};
//io_->FLAG1 is now 0
io_->FLAG2 = 1;
sleep(10);
if (io->FLAG1)
return 1; //io->FLAG1 has changed from 0 to 1
else
return 0; //io->FLAG1 has not changed
}
如果在函数执行期间更改结构的不同位是足够的,但我的主要标准是为了到达特定分支,在函数执行期间易失性变量的值发生变化。
如果有任何现实生活中的示例将非常感激。我在网上找不到许多使用易失性变量的示例。