本文主要是介绍嵌入式100题(030):volatile作用和用法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
volatile作用和用法
使用volatile关键字声明的变量或对象通常具有与优化、多线程相关的特殊属性。通常,volatile关键字用来阻止(伪)编译器认为的无法“被代码本身”改变的代码(变量/对象)进行优化。如在C语言中,volatile关键字可以用来提醒编译器它后面所定义的变量随时有可能改变,因此编译后的程序每次需要存储或读取这个变量的时候,都会直接从变量地址中读取数据。如果没有volatile关键字,则编译器可能优化读取和存储,可能暂时使用寄存器中的值,如果这个变量由别的程序更新了的话,将出现不一致的现象。
总结:
优点:防止编译器对代码优化,变量值是直接从变量地址中读取和存储的。
缺点: 这种使用过多会导致代码十分庞大。
这篇关于嵌入式100题(030):volatile作用和用法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!