/volatile (Interpretation des volatile-Schlüsselworts)
Gibt an, wie das - Schlüsselwort flüchtig interpretiert werden soll.
/volatile:{iso|ms}
Argumente
/volatile:iso
Wählt strenge volatile Semantik aus, wie durch die ISO-Standard-C++-Sprache definiert.Rufen Sie/Versionssemantik werden garantiert nicht auf flüchtigen Zugriffe ab.Wenn der Compiler ARM abzielt, ist dies die Standardinterpretation von volatile./volatile:ms
Wählt Microsoft erweiterte volatile Semantik aus, die Arbeitsspeicherreihenfolgengarantien über der ISO-Standard-C++-Sprache hinaus hinzufügen.Rufen Sie/Versionssemantik werden Sie auf flüchtigen Zugriffe ab.Allerdings stellt diese Option auch den Compiler, um Hardwarearbeitsspeicherbarrieren zu generieren, die möglicherweise beträchtlichen Aufwand auf ARM und anderen schwachen ArbeitsspeicherReihenfolgenarchitekturen hinzugefügt haben.Wenn der Compiler eine Plattform außer ARM abzielt, ist dieses Standardinterpretation von volatile.
Hinweise
Es wird dringend empfohlen, dass Sie /volatile:iso zusammen mit expliziten Synchronisierungsprimitiven und systeminterne Funktionen des Compilers verwenden, wenn Sie Speicherplatz arbeiten, der über Threads freigegeben wird.Weitere Informationen finden Sie unter flüchtig (C++).
Wenn Sie vorhandenen Code portieren oder diese Option mitten in einem Projekt ändern, kann es hilfreich, Warnung C4746 zu aktivieren, um Codespeicherorte zu identifizieren, die durch den Unterschied in der Semantik beeinflusst werden.
Es gibt keine #pragma Entsprechung, um diese Option zu steuern.
Um die Compileroption /volatile- in Visual Studio fest
Öffnen Sie das Dialogfeld Eigenschaftenseiten für das Projekt.Weitere Informationen finden Sie unter Gewusst wie: Öffnen von Projekteigenschaftenseiten.
Wählen Sie den C/C++ Ordner aus.
Wählen Sie die Eigenschaftenseite Befehlszeile aus.
Im Feld Zusätzliche Optionen fügen Sie /volatile:iso oder /volatile: ms hinzu.