/volatile(volatile 关键字解释)

指定 volatile 关键字如何将被解释。

/volatile:{iso|ms}

实参

  • /volatile:iso
    选择强 volatile 语义所定义的 ISO C++ 标准语言。 获取/版本语义不能保证在变量的访问。 如果编译器针对 ARM,这是 volatile的默认值解释。

  • /volatile:ms
    选择 Microsoft 扩展的 volatile 语义,将 ISO C++ 标准语言以外的内存排序的保证。 获取/版本语义确保在变量的访问。 但是,此选项还强制编译器将生成硬件内存障碍,可以添加在 ARM 和其他弱的内存命令的体系结构的重大开销。 如果编译器目标 (ARM 的任何平台,这是 volatile的默认值解释。

备注

强烈建议您使用显式同步基元使用 /volatile:iso 和编译器内部,在处理在线程之间共享的内存时。 有关更多信息,请参见volatile (C++)

如果端口现有代码还是在项目,其元更改此选项可用于使警告 C4746 标识受在语义上的差异的影响代码的位置。

没有等效 #pragma 控件此选项。

在 Visual Studio 中设置 /volatile 编译器选项

  1. 打开项目的**“属性页”**对话框。 有关更多信息,请参见如何:打开项目属性页

  2. 选择 C/C++ 文件夹。

  3. 选择 命令行 属性页。

  4. 其他选项 框中,添加 /volatile: ISO 或 /volatile: 毫秒。

请参见

参考

volatile (C++)

编译器选项

设置编译器选项