ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Понедельник
22 июля
1107463 Топик полностью
SciFi (08.06.2021 13:29, просмотров: 299) ответил SciFi на Компилятор имеет право не перечитывать переменную по указателю.
Кстати, поправочка, плохо я правило сформулировал. Например, рассмотрим схему уарт — прерывания — кольцевой буфер на отправку — указатели на голову и хвост кольцевого буфера. Указатель на голову не меняется в прерывании, как и буфер на отправку. Но оба должны быть volatile, чтобы компилятор не имел права поменять местами запись в буфер и в указатель, иначе прерывание обработает отправку неправильно. 

Видимо, поэтому в стандарте пишут иначе: доступ к объекту может иметь мистические побочные эффекты. В схеме с кольцевым буфером и указателем понятно, какие эффекты могут получиться.

ส็็็็็็็็็็็็็็็็็็็็็็็็็༼ ຈل͜ຈ༽ส้้้้้้้้้้้้้้้้้้้้้้้