volatile
-
Wer kann mir vernünftig erklären, was "volatile" bewirkt?
-
das bedeutet, dass der Compiler diese Variable nicht wegoptimieren darf.
bsp:
void foo(int* i) { int* p=i; do_something_with(p); }
jetzt wuerde der Compiler p einfach wegoptimieren und an do_something_with gleich i uebergeben.
Manchmal will man das aber nicht (wenn man zB mehrere Threads hat, und die greifen auf variablen anderer Threads zu - dann waere es fatal, wenn diese variable nicht da waere)