Цитата(Jenya7 @ Feb 10 2015, 10:49)

тогда я не понимаю. мне что все переменные volatile сделать? он даже локальные optimaze out!
Если хотите написать большую медленную программу - делайте все переменные volatile.
Если хотите писать маленькую быструю - ходите по дизассемблеру, анализируйте код и смотрите содержимое регистров. В каком-то из них может быть ваша преременная. Причем по ходу программы она может перемещаться из регистра в регистр. А может компилятор действительно выкинул переменную вместе со всем породившим ее кодом. Бывает удобно на время отладки завести volatile-переменные, в которые записывать промежуточнве значения интересующих вас переменных в ключевых точках программы.
Если хотите программу среднего размера и скорости, но с облегченной отладкой - уменьшайте оптимизацию.