小编Ham*_*Ham的帖子

示例C使用volatile变量的函数

对于一篇论文,我正在寻找一个使用volatile变量的真实 C函数.这本身并不难找,但我正在寻找一个函数,其中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
 }
Run Code Online (Sandbox Code Playgroud)

如果在执行函数期间结构的不同位改变就足够了,但我的主要标准是,对于要到达的某个分支,易失性变量的值执行函数期间改变.

我会非常感谢任何现实生活中的例子.我无法在网上找到很多使用volatile的例子.

c volatile

2
推荐指数
1
解决办法
1万
查看次数

包含C中每个可能构造的参考代码

第6章C标准的语言定义了C标准中定义的所有不同概念,转换,词汇元素,表达式,声明,语句,块,外部定义等.

我想知道是否有任何代码的引用体,其中包含C语言的所有这些元素,并且可以用于测试工具,例如编译器,它们处理C代码.还是我无可救药地天真?

期待您的来信!

火腿

c compiler-construction programming-languages

2
推荐指数
1
解决办法
1027
查看次数