Forum: Mikrocontroller und Digitale Elektronik was bedeutet diese Fehlermeldung ?


von Thomas H. (supergrobi)


Lesenswert?

Was bedeutet diese Meldung ?

Warning[Pa082]: undefined behavior: the order of volatile accesses is 
undefined in this statement

Angezeigt wird dies bei dieser Codezeile:

    put_char(1+i*CHAR_W,100,txt[i],0);   //  0 deg. rotated

gruß
Thomas

von Peter (Gast)


Lesenswert?

ich vermute mal das i volatile ist. Dann heist das das der compiler für 
i zwei mal auf den speicher zugreift. Aber er sagt das die Reihenfolge 
nicht eindeutig ist. I könnte sich also in der Zeit ändern.

von Thomas H. (supergrobi)


Lesenswert?

ohh vielen Dank. :)

hab jetzt eine andere Variable genommen die nicht volatile ist.

gruß
Thomas

von holger (Gast)


Lesenswert?

>hab jetzt eine andere Variable genommen die nicht volatile ist.

Jetzt musst du nur noch rausfinden WARUM "i" volatile war;)

von Thomas H. (supergrobi)


Lesenswert?

denke mal, das war noch ein Überbleibsel eines alten Codeexamples,
damit i vom Compiler nicht weg optimiert wird - Ich hab es jetzt weg 
optimiert.

danke für die Hilfe, wieder was gelernt :)

gruß
Thomas

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.