什么时候才能真正使用const volatile?[重复]

问题描述 投票:-1回答:1

何时使用 const volatile?

c const volatile
1个回答
1
投票

constvolatile 基本上是相反的意思!意味着变量的值可能会因为当前作用域外的操作而改变(因此编译器可能不会优化其使用)。

volatile 意味着变量的值可能会因为当前作用域外的操作而改变(因此编译器可能不会优化它的使用)。

const 意味着当你试图直接改变它时,该值永远不会被编译器改变。但当然,值是在内存的某个地方,如果你得到了值的指针,你有很多方法来强制改变值。


1
投票

这在嵌入式系统中是可以实现的,而且多用于嵌入式系统。例如中断状态寄存器,因为它是一个状态寄存器,在程序中我们不应该修改这个Variable,所以它应该是一个常量。但是这个变量是可以被处理器或者硬件根据中断条件来改变的。所以在程序中,当我们要读取这个变量的值时,应该不经过任何优化就读取实际值。基于这个原因,这个变量也可以声明为易失性变量。

© www.soinside.com 2019 - 2024. All rights reserved.