哪些场合会用到volatile关键字
当你理解 volatile关键字的含义之后,你就能明白,其实很多场合都能用到 volatile关键字。1.全局变量单片机开发,难免会用到全局变量。一些初级工程师,更是全局变量满天飞。这种情况下,使用volatile关键字也许能减少代码bug率。
2.寄存器单片机开发,寄存器添加volatile关键字应该是必须的,如果你平时有仔细观察,正规一点的【库】都会添加volatile关键字。
具体细分的话,代码里面有很多地方都会用到 volatile关键字。 很多场合都能用到 volatile关键字 寄存器单片机开发,寄存器添加volatile关键字应该是必须的 volatile 关键字用于告诉编译器,某个变量可能会被程序之外的因素(如硬件、其他线程等)修改,因此编译器不应对其进行优化。
硬件寄存器的值可能由硬件设备随时改变,使用 volatile 可以确保每次访问都从寄存器读取最新值,而不是使用缓存值。 在多线程环境中,共享变量可能被其他线程修改,使用 volatile 可以防止编译器优化导致读取旧值。 在信号处理函数中修改的变量应声明为 volatile,以确保主程序能看到最新的值。 一般来说在嵌入式系统中,volatile 常用于确保对特殊内存地址的访问不会被优化。 当变量可能被外部因素修改时,使用 volatile 可以防止编译器优化掉看似无用的代码 volatile 关键字用于确保变量的可见性,防止编译器优化导致读取旧值。 正常就是不让这个变量不修改而已 我觉得就如果不想让这个变量被优化的话,就可以加上 一般寄存器会加,或者就是不让这个变量被修改这种
页:
[1]