volatile作用: 作为指令关键字,确保本条指令不会受到编译器的优化而省略,而且要求每次直接读值。

 

定义:

volatile int nTest;

volatile关键字是一种类型修饰符,用它声明的类型变量表示可以被某些编译器未知的因素更改,比如:操作系统、硬件或者其它线程等。遇到这个关键字声明的变量,编译器对访问该变量的代码就不再进行优化,从而可以提供对特殊地址的稳定访问。

 

 上图可以发现在没有优化的情况下,编译器强制执行了a=10;这条语句,然后再输出a;而采用优化后并没有执行a=10;直接输出了10;

C++11 volatile 类型

 

C++11 volatile 类型

 

相关文章:

  • 2022-01-12
  • 2021-06-19
  • 2022-01-05
  • 2021-08-21
  • 2022-01-25
  • 2021-06-12
  • 2021-09-20
  • 2022-02-03
猜你喜欢
  • 2022-01-01
  • 2022-01-20
  • 2022-12-23
  • 2022-12-23
  • 2021-09-25
  • 2022-03-03
相关资源
相似解决方案