энергонезависимые переменные

Если я помечаю переменную как volatile, я получаю гарантированное чтение при каждом доступе к коду.

Но как насчет энергонезависимых переменных?

Гарантируется ли по крайней мере одно чтение для каждой функции/блока, или значение можно оптимизировать за пределами функций?


person Šimon Tóth    schedule 13.10.2012    source источник


Ответы (1)


Почему границы функций были бы важны, если встраивание (даже неспровоцированное, т. е. без inline) все равно могло бы их уничтожить?

И.О.В.: Да, почти все возможно по правилу «как если бы»: пока программа ведет себя так, как будто компилятор ничего не оптимизировал, ему разрешено делать с ней что угодно. (И границы этого критерия тоже довольно туманны. Например, удаление копий разрешено компилятору сколько угодно, и к черту отсутствующие побочные эффекты.)

person sbi    schedule 13.10.2012
comment
Ну, поэтому я и спрашиваю. :-D - person Šimon Tóth; 14.10.2012