O_o dass der beim optimieren SOOOO weit geht war mir nicht bewusst O_o

danke dass du mir die augen geöffnet hast, das würde auch erklären warum meine bisherigen versuche einen meiner eignen quellcodes zu optimieren so herb in die hose gegangen sind -.-

ich habe das immer so verstanden, dass der compiler die variable unter gewissen umständen länger in den registern behält und erst nach abschluss aller arbeiten an der variable in den speicher zurückschreibt und es genau DA eben um den atomaren zugriff auf die variable geht und das volatile eben genau das verhindern soll, indem nach und vor jeder aktion an der variable mit dem speicher abgeglichen wird

aber kann man denn nicht die variable denn nicht irgendwie anders deklarieren? ich habe in einen meiner eigenen codes ein winziges timingproblem, dass ich mit selbstgebauten criticalsections gesichert habe, aber daran scheitert, dass die zugriffe auf die variable scheinbar zu lange dauern!

um es genau zu sagen ist es eine abfolge von if-abfragen (die sich von der statemachine bedingt nicht weiter reduzieren lassen) und unmengen rechenzeit verbrauchen und dazu führen, dass ich das entscheidende event verpasse wenn ich den zeitrahmen zu knapp wähle!

wäre es ratsam einen nicht volatile temp variable zu nehmen (vll. sogar ne registervariable) in die ich den wert der variable lege und dann damit vergleiche anstelle ?