-
- волатайл - чтобы компилятор послушно выполненил два чтения в одной
итерации. - POV(12.02.2023 12:05)
- Он это сделает в любом случае. Нужна атомарность, а это с
волатильностью не соотносится никак. - mse homjak(12.02.2023 12:27)
- Не буду спорить, может неправ... но я не вижу связи с
атомарностью... POV(218 знак., 12.02.2023 12:30)
- Тогда уж берите три и мажорируйте. А то при переходе 0x00ffffff -
0x01000000 можно легко получить 0х00000000, после 0x00fffffe,
например. Вариантов масса. А волатильность совсем не при чом. Она
говорит компилеру, что эта переменная не должна подвергнуться
оптимизаццыи. И всё. Смысл её только в отладке, следить за чем-нить
интересным или обращение к порту вывода в адресном пространстве
памяти. Типа, программа только пишет, но не читает, на костёр
ведьму. mse homjak(64 знак., 12.02.2023 13:01)
- Волатильность не позволит компилятору внутри цикла прочитать
переменную один раз, и затем два раз это значение применить. - POV(12.02.2023 13:09)
- ХЗ, конечно, но можэт быть. - mse homjak(12.02.2023 13:21)
- Не выдумывайте, нету там "массы вариантов". Сравнения с предыдущим
чтением достаточно. - SciFi(12.02.2023 13:01)
- Масса вариантов коробления данных. Ну сравнили вы, не совпадла,
дальше что? Каличным можэт оказаться как первое чтение, так и
второе. - mse homjak(12.02.2023 13:04)
- Логика очень простая. Прочитали два раза, если значения совпали - то они верные. Если не совпали - читаем дальше, пока не совпадут. Абсолютно классическое и рабочее решение для чтения из основного потока переменной, изменяемой в прерывании. В обратную сторону, естественно, не работает. - LightElf(12.02.2023 17:12)
- "Не читал, но осуждаю"? Ясно-понятно. - SciFi(12.02.2023 13:06)
- Масса вариантов коробления данных. Ну сравнили вы, не совпадла,
дальше что? Каличным можэт оказаться как первое чтение, так и
второе. - mse homjak(12.02.2023 13:04)
- Волатильность не позволит компилятору внутри цикла прочитать
переменную один раз, и затем два раз это значение применить. - POV(12.02.2023 13:09)
- Тогда уж берите три и мажорируйте. А то при переходе 0x00ffffff -
0x01000000 можно легко получить 0х00000000, после 0x00fffffe,
например. Вариантов масса. А волатильность совсем не при чом. Она
говорит компилеру, что эта переменная не должна подвергнуться
оптимизаццыи. И всё. Смысл её только в отладке, следить за чем-нить
интересным или обращение к порту вывода в адресном пространстве
памяти. Типа, программа только пишет, но не читает, на костёр
ведьму. mse homjak(64 знак., 12.02.2023 13:01)
- Не буду спорить, может неправ... но я не вижу связи с
атомарностью... POV(218 знак., 12.02.2023 12:30)
- Он это сделает в любом случае. Нужна атомарность, а это с
волатильностью не соотносится никак. - mse homjak(12.02.2023 12:27)
- волатайл - чтобы компилятор послушно выполненил два чтения в одной
итерации. - POV(12.02.2023 12:05)