Compartir a través de


/volatile (interpretación de la palabra clave volatile)

Especifica cómo la palabra clave volatile debe interpretarse.

/volatile:{iso|ms}

Argumentos

  • /volatile:iso
    Selecciona la semántica estricta de volatile definida por el lenguaje C++ de la norma ISO estándar. La adquisición o versión de semántica no se garantiza en accesos volátiles. Si el compilador tiene como destino ARM, ésta es la interpretación predeterminada de volatile.

  • /volatile:ms
    Selecciona la semántica de Microsoft mejorada de volatile, que agrega garantías de ordenación de memoria más allá del lenguaje C++ de la norma ISO estándar. La adquisición o versión de semántica se garantiza en accesos volátiles. Sin embargo, esta opción también hace que el compilador genere barreras de memoria de hardware, que podrían agregar una gran sobrecarga en la ARM y otras arquitecturas de ordenación de memoria débil. Si el compilador tiene como destino cualquier plataforma excepto la ARM, ésta es la interpretación predeterminada de volatile.

Comentarios

Se recomienda encarecidamente utilizar /volatile:iso junto con primitivos explícitos de sincronización y función intrínseca del compilador cuando se trabaje con la memoria compartida entre subprocesos. Para obtener más información, vea volatile (C++).

Si importa código existente o cambia esta opción en medio de un proyecto, puede ser útil permitir que la advertencia C4746 identifique las ubicaciones del código que se ven afectadas por la diferencia en la semántica.

No hay equivalente de #pragma para controlar esta opción.

Para establecer la opción del compilador /volatile en Visual Studio

  1. Abra el cuadro de diálogo Páginas de propiedades del proyecto. Para obtener más información, vea Cómo: Abrir páginas de propiedades del proyecto.

  2. Seleccione la carpeta C/C++.

  3. Seleccione la página de propiedades Línea de comandos.

  4. En el cuadro de Opciones adicionales, agregue /volatile: ISO o /volatile: ms.

Vea también

Referencia

volatile (C++)

Opciones del compilador

Establecer las opciones del compilador