Domande taggate «volatile»

Volatile è un qualificatore utilizzato per definire un'area di memorizzazione dei dati (oggetto, campo, variabile, parametro) che "può cambiare da solo", impedendo così alcune ottimizzazioni del generatore di codice. In alcune ma non in tutte le lingue che riconoscono questo qualificatore, l'accesso a tali dati è thread-safe.


3
Il compilatore può piegare costantemente una volatile locale?
Considera questo semplice codice: void g(); void foo() { volatile bool x = false; if (x) g(); } https://godbolt.org/z/I2kBY7 Puoi vedere che gccné clangottimizzare né ottimizzare la potenziale chiamata a g. Questo è corretto nella mia comprensione: la macchina astratta è quella di supporre che le volatilevariabili possano cambiare in …



1
Questa implementazione AtomicInt in C ++ è corretta?
Premessa: sto lavorando con un ambiente ARM (quasi bare metal) in cui non ho nemmeno C ++ 11 (con std::atomic<int>) disponibile, quindi per favore evita risposte come " usa solo C ++ standardstd::atomic<int> ": Non posso . Questa implementazione ARM di AtomicInt è corretta? (supponiamo che l'architettura ARM sia ARMv7-A …
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.