Gast
#7069394
Hallo, ich nutze den arm-none-eabi-gcc und stelle ein paar Überlegungen zur Verwendung von volatile bei der Deklaration von Variablen an. Der Sinn, Zweck und Einsatz von volatile ist mir bewusst. Allerdings schwingt immer die Aussage mit "der Compiler kann eventuell eine Optimierung an Variablen vornehmen (z.B. caching)". Hinsichtlich Optimierung gibt es zahlreiche Optionen: https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html Aber Beispiele bezogen auf das Caching mit Verwendung/bzw. nicht Verwendung von volatile gibt es nur mit höheren Optimierungen (z.B. -O2 oder -Os): https://developer.arm.com/documentation/100748/0614/Writing-Optimized-Code/Effect-of-the-volatile-keyword-on-compiler-optimization https://developer.arm.com/documentation/dui0472/c/compiler-coding-practices/compiler-optimization-and-the-volatile-keyword Jetzt die Frage: Kann die Optimierung von Variablen global verboten werden? Welche Option(en) sind dafür zuständig? Vielen Dank & Viele Grüße