Pepisoft die hamm schon recht.
Es wird auch nicht die Variable wegoptimiert sondern nur die if Anweisung oder for() Schleife etc.
Das die Variable ohne volatile unsinnige Wert bekommt ist auch nicht automatisch so. Das war nur in unserem Fall (srf04 Messung) so da wir der Variable Werte von Hardwareregistern zugewiesen haben
Und WinAVR programmiert niemand, das ist nur der GNU GCC Compiler von dem das abhängt.
Gruß Muraad