ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Пятница
19 апреля
986698 Топик полностью
fk0, легенда (17.03.2020 10:07, просмотров: 506) ответил _Constantin24 на В с/с++ компилятор может вычислять volatile переменные не последовательно? То есть обычные переменные он вправе вычислять непоследовательно(одновременно), если на друг друга не влияют. А что с volatile? 
Читать не последовательно, в другом порядке?  Не уверен, не должен. А вот вынести запись в конец функции и выполнить в последнюю очередь, на выходе -- запросто может. Т.е. переупорядочить относительно других инструкций и, в частности, относительно обращений к памяти (по указателям и т.п.)   Если порядок относительно других обращений к памяти важен, то следует использовать memory barriers. На сахаре уже 10 раз писали:  http://caxapa.ru/842962/
[ZX]