1.volatile:变量如果加了 volatile 修饰,则不管修改多少次,每次调用改的时候都会从内存重新装载内容,而不是直接从寄存器拷贝内容。 2.运用情况: 在多任务、中断、甚至setjmp环境下,变量可能被其他的程序改变,编译器自己无法知道,volatile就是告诉编译器这种情况要从内存中读取volatile的值。
- 中断服务程序中修改的供其它程序检测的变量需要加volatile;
- 多任务环境下各任务间共享的标志应该加volatile;
- 存储器映射的硬件寄存器通常也要加volatile说明,因为每次对它的读写都可能由不同意义;
本文详细介绍了volatile关键字的作用机制及其应用场景,包括多任务环境下的变量共享、中断服务程序中被修改的变量以及存储器映射的硬件寄存器等。通过使用volatile,可以确保程序能够正确地从内存中获取最新的变量值。
2675

被折叠的 条评论
为什么被折叠?



